Pergunta

Estou tentando fazer upload de um arquivo para o meu servidor usando o auxiliar de formulário de upload de arquivo do CakePHP.
Atualmente estou executando o CakePHP 1.3 no meu computador de desenvolvimento (Mac OSX).
Quando o formulário é enviado, ele tem nas variáveis ​​que são passadas para o controlador seu nome temporário: /var/tmp/name e então seu nome como o nome do arquivo.
Porém, quando tento renomear o arquivo para um local mais permanente, ele falha e, se eu for até o local, ele não existe.

Recebo estas mensagens de erro:

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/
Foi útil?

Solução

Recebo muito esse erro quando não tenho permissões definidas corretamente no diretório de destino.Para fins de ilustração, vou assumir que você está executando um servidor web Apache e que ele está sendo executado como um usuário chamado www.Que www o usuário deve ter acesso de gravação ao diretório de destino.Não se trata de quais permissões você tem, mas quais permissões o usuário do servidor web possui.

Se você achar que esse não é o problema, mais alguns detalhes e/ou algum código podem ser úteis.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top