Форум Приднестровья, форум ПМР

Форум Приднестровья, форум ПМР (http://forum-pmr.net/index.php)
-   Программисты и компьютеры в ПМР (http://forum-pmr.net/forumdisplay.php?f=16)
-   -   Вопрос по php скрипту. (http://forum-pmr.net/showthread.php?t=113317)

PMR 19.03.2016 16:36

Вопрос по php скрипту.
 
Есть у меня один форум на движке punbb.
В нем в папке ../img/avatars хранятся аватары.
Я сделал скрипт, который по определенному признаку должен удалять ненужные мне аватары.

в коде есть такие сроки на цикле, где надо стереть файл:

PHP код:

echo " УДАЛЯЕМ " $filename ;
unlink ($filename);
print_r(error_get_last()); 

И на экран выдает ошибку:

... УДАЛЯЕМ 1001.jpg Array ( [type] => 2 [message] => unlink(1001.jpg): Permission denied [file] =>/home/....домен.ru/public_html/1/_BB.php [line] => 36 )

Менял права на папку "avatars", на файл "1001.jpg", на сам скрипт _BB.php.
777, 755 давал права.
Уже не знаю что придумать.

Вот еще сделал для теста:

PHP код:

<?php 
echo "тест удаления файла";
$b "test.txt";
unlink($b);
print_r(error_get_last());  
echo 
"конец";
?>

Выдает

тест удаления файлаArray ( [type] => 2 [message] => unlink(test.txt): Permission denied [file] =>
/home/....домен.ru/public_html/1/test.php [line] => 4 ) конец

Duke_Cheb 19.03.2016 17:05

Цитата:

PMR писал (а) (Сообщение 318119)
домен.ru/public_html/1/_BB.php

Кто владелец файла 1001.jpg? Проверь, добавив в скрипт echo exec('whoami');
Если nobody - чихать сервер хотел на все пермиссии.
-------- Добавлено в 17:05 -------- Предыдущее было в 16:59 --------
И еще,
Цитата:

PMR писал (а) (Сообщение 318119)
test.txt

должен валяться не в корневухе, а в папке со скриптом: /home/....домен.ru/public_html/1/ - unlink там его ищет, если я верно понимаю его работу.

PMR 19.03.2016 19:32

Залил test.php и test.txt в папку img/avatars, и дал права 777 на папки "img" и "avatars" и тогда файлик test.txt стерся.
А я не хочу с "домен.ru/1/test.php" переность файл в папку аватаров.

Я там еще леоаю
Цитата:

$dir = '../img/avatars';
chdir ($dir);

Duke_Cheb 19.03.2016 19:35

Цитата:

PMR писал (а) (Сообщение 318135)
А я не хочу с "домен.ru/1/test.php" переность файл в папку аватаров.

Дык, правильно, просто путь пропиши в $filename, чтобы он по умолчанию не подхватывал из папки с test.php.
Мне кажется, проще не директорию менять - можно запутаться по ходу кода, какая директория текущая сейчас, а полный путь собирать в строку. Что-то типа того:

echo " УДАЛЯЕМ ". $filename;
$erasedfile='..img/avatars/'.$filename;
unlink ($erasedfile);
print_r(error_get_last());

PMR 30.08.2017 08:06

http://forum-pmr.net/poisk2.php
Цитата:

ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
print_r ($_POST) ;
if(isset($_POST['poisc']))
**
echo "нажали поиск" ;
$host="localhost";
$user="имя";
$pwd="пароль";
$database_name="база";
$db=mysql_connect($host,$user,$pwd);
if (!$db) die ('Не удалось соединиться : ' . mysql_error());
else
echo "ОК" ;
mysql_select_db($database_name,$db);
mysql_query('SET NAMES utf8');

непонимаю, почему не пашет $db=mysql_connect($host,$user,$pwd);
работало до смены серверного оборудования....

Fatal error: Call to undefined function mysql_connect()
Чем заменить то mysql_connect ?

PMR 30.08.2017 13:53

Нашел причину, использую mysqli , а не mysql.
MySQL - устаревший интерфейс - в более менее новых версиях php он давно выпилен.
Теперь mysql_select_db, лишний.
А запросы идут в формате
mysqli_query($db,'запрос');

А что не так в запросе:
query: SELECT * FROM exel WHERE UPPER(kvartal) LIKE 1

Разобрался, поменялось многое в синтаксисе.
Например, стало: mysqli_connect($host,$user,$pwd,$database_name)

sedoffmike 01.10.2017 15:35

Юзаю PDO. Полет нормальный.


Текущее время: 07:26. Часовой пояс GMT +2.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot