Загрузка файла загадочным образом завершается сбоем в CakePHP

Я пытаюсь загрузить файл на свой сервер с помощью помощника формы загрузки файлов CakePHP.
В настоящее время я запускаю CakePHP 1.3 на своем компьютере для разработки (Mac OSX).
Когда форма отправляется, она имеет в переменных которые передаются контроллеру, его временное имя: /var/tmp/name, а затем его имя в качестве имени файла.
Однако, когда я пытаюсь переименовать файл в более постоянное место, происходит сбой, и если я перехожу к местоположению , его не существует.

Я получаю эти сообщения об ошибках:

Warning (2): move_uploaded_file(Users/chustar/Documents/IMAG0001.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory [APP/controllers/users_controller.php, line 41]
Warning (2): move_uploaded_file() [function.move-uploaded-file]: Unable to move '/private/var/tmp/php98lzsP' to '/Users/chustar/Documents/IMAG0001.jpg' [APP/controllers/users_controller.php, line 41]
Warning (2): Cannot modify header information - headers already sent by (output started at /Library/WebServer/Documents/cake/libs/debugger.php:673) [CORE/cake/

person chustar    schedule 09.07.2010    source источник
comment
Откуда вы знаете, что это не удается? Что такое сообщение об ошибке?   -  person Itay Moav -Malimovka    schedule 10.07.2010
comment
Я бы попытался устранить эту 3-ю ошибку: Предупреждение (2): Невозможно изменить информацию заголовка — заголовки уже отправлены (вывод начался в /Library/WebServer/Documents/cake/libs/debugger.php:673) [CORE/cake/ That может просто отключить что-то на данный момент. По сути, вы хотите упростить вещи, чтобы изолировать причину проблемы.   -  person George Marian    schedule 10.07.2010
comment
Третья ошибка обычно является следствием первых двух. Отображаются сообщения об ошибках, которые создают вывод, предотвращающий изменение заголовков.   -  person Rob Wilkerson    schedule 10.07.2010
comment
@Rob Wilkerson Достаточно честно, я предположил, что это ошибки в файле журнала, а не в браузере.   -  person George Marian    schedule 10.07.2010


Ответы (1)


Я часто получаю эту ошибку, когда у меня нет прав, установленных должным образом для целевого каталога. В целях иллюстрации я собираюсь предположить, что вы используете веб-сервер Apache и что он работает от имени пользователя с именем www. Этот пользователь www должен иметь доступ на запись к целевому каталогу. Дело не в том, какие разрешения есть у вас, а в том, какие разрешения есть у пользователя веб-сервера.

Если вы обнаружите, что проблема не в этом, могут быть полезны еще несколько уточнений и/или некоторый код.

person Rob Wilkerson    schedule 10.07.2010
comment
Писал в папку «Мои документы» по какой-то причине. Таким образом, у apache не было прав на запись. Решено. - person chustar; 10.07.2010