Проблема: пишу скрипт для сайта на PHP, в котором загружается файл в динамически создаваемую (с помощью того же PHP) директорию. Этот скрипт работал ранее, но теперь, после переустановки админами операционки перестал копировать файл в директорию, которая успешно создается. То есть, каталог создается, но в него ничего писаться не хочет (права изменяю на 777).
Подскажите пожалуйста, в чем может быть проблема? Настройки конфигурации PHP, или операционка (Fedora Core) не настроена?
Спасибо
Некорректно работает PHP или проблемы с учетной записью?
Модераторы: SLEDopit, Модераторы разделов
-
nikitos1980
- Сообщения: 4
-
Snupt
- Бывший модератор
- Сообщения: 2062
- Статус: No Place for RTFM Here…
- ОС: Mac OS X
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Некорректно работает PHP или проблемы с учетной записью?
Информативно, да.
-
nikitos1980
- Сообщения: 4
-
jura12
- Сообщения: 275
- ОС: ubuntu 11.04
Re: Некорректно работает PHP или проблемы с учетной записью?
у меня были проблемы с большими требованиями на права к дирректориями. попробуйте включить пользователя в группу www . но это может не помочь.
сформулируйте еще раз вопрос точнее.
сформулируйте еще раз вопрос точнее.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Некорректно работает PHP или проблемы с учетной записью?
nikitos1980 писал(а): ↑22.09.2008 10:58
Что да? Куда смотреть? В сторону линукс или httpd.conf, или еще куда?
В сторону ошибок, выдаваемых PHP.
-
sim1
- Сообщения: 155
- ОС: GNU,BSD
Re: Некорректно работает PHP или проблемы с учетной записью?
загружается файл в динамически создаваемую
выполняется upload из формы в броузере на сервер ?
Разработка программ для *nix
-
nikitos1980
- Сообщения: 4
-
sim1
- Сообщения: 155
- ОС: GNU,BSD
Re: Некорректно работает PHP или проблемы с учетной записью?
Могу предположить, что вы:
1. забыли указать в теге <form> enctype="multipart/form-data"
2. либо возникла ошибка, которая не обрабатывается Php смотрим $_FILES[ $file ]['error'];
вот моя функция, которую я использую для проверки и перемещения файла
1. забыли указать в теге <form> enctype="multipart/form-data"
2. либо возникла ошибка, которая не обрабатывается Php смотрим $_FILES[ $file ]['error'];
вот моя функция, которую я использую для проверки и перемещения файла
Код: Выделить всё
/*
Проверка загружаемого файла на валидность
- в случае успеха возвращает пустую строку
- в случае не удачи возвращает строки с описанием ошибки
Аргументы:
$file - ключ для $_FILE
$maxFileSize - предельный размер
$move_to - куда переместить загружаемый файл
$is_null - возвращает true если файл нулевой
*/
function testFile( $file,$move_to,$maxFileSize,&$is_null ) {
define( "_UPLOAD_ERR_BIG_FILE", 'The file size is grate than it must be!');
define( "_UPLOAD_ERR_NULL_FILE", 'The file is null size!');
define( "_UPLOAD_ERR_UNKNOWN", 'Unknown error!');
$uploadErrors = array(
UPLOAD_ERR_INI_SIZE => 'The uploaded file exceeds the upload_max_filesize directive in php.ini.',
UPLOAD_ERR_FORM_SIZE => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.',
UPLOAD_ERR_PARTIAL => 'The uploaded file was only partially uploaded.',
UPLOAD_ERR_NO_FILE => 'No file was uploaded.',
UPLOAD_ERR_NO_TMP_DIR => 'Missing a temporary folder.',
UPLOAD_ERR_CANT_WRITE => 'Failed to write file to disk.',
UPLOAD_ERR_EXTENSION => 'File upload stopped by extension.'
);
$is_null = true;
$errorCode = $_FILES[ $file ]['error'];
// ошибки выявляемые движком PHP
if ( $errorCode <> UPLOAD_ERR_OK and $errorCode <> UPLOAD_ERR_NO_FILE )
return ( isset( $uploadErrors[$errorCode] ) ? $uploadErrors[ $errorCode ] : _UPLOAD_ERR_UNKNOWN );
// файла не было, выйдем
if ( $errorCode == UPLOAD_ERR_NO_FILE )
return "";
// проверка на предельный размер
$file_size = intval( $_FILES[ $file ]['size'] );
if ( $file_size == 0 )
return _UPLOAD_ERR_NULL_FILE;
if ( $file_size > $maxFileSize )
return _UPLOAD_ERR_BIG_FILE;
// перемещение файла по указанному пути
$tmpfile = $_FILES[ $file ]['tmp_name'];
if ( !move_uploaded_file( $tmpfile, $move_to ) ){
return "Can not move upload file to $move_to!";
}
$is_null = false;
return "";
}Разработка программ для *nix
-
nikitos1980
- Сообщения: 4
Re: Некорректно работает PHP или проблемы с учетной записью?
Спасибо за код, но дело не в самом коде. Я же писал, что программа была написана задолго до этого, и она работала. Потом переустановили операционку на сервере и начались проблемы. Весь код я проверил, все корректно! Например, если код изменить так, чтобы картинка писалась в директорию, созданную через фтп-соединение, то все отлично работает, а в созданную динамически (с помощью пхп-скрипта) - не работает. Повторюсь, директории назначаются права на запись 777.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Некорректно работает PHP или проблемы с учетной записью?
nikitos1980 писал(а): ↑23.09.2008 10:27Да, идет загрузка из формы в браузере. Ошибок PHP нет, error_reporting(E_ALL).
Либо PHP всё делает и не выдаёт никаких ошибок, либо PHP не может этого сделать и ВЫДАЁТ сообщение об ошибке. Третьего не дано.