php função move_uploaded_file não vai funcionar no meu servidor on-line, mas não em localhost
-
07-07-2019 - |
Pergunta
Eu tenho trabalhado em um arquivo de upload que funciona bem em localhost (janelas), mas não vai funcionar no meu servidor linux I aluguel. Eu quero que movê-lo para um subdir '/ arquivos' de onde o arquivo está.
que dá os erros: Aviso: move_uploaded_file (/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/6) [enviados por function.move-file]: failed to fluxo aberto: Permissão negada in /home/taalhulp/domains/taalhulpmanager.nl/ public_html / Gegev_Dossier.php na linha 66
Atenção: move_uploaded_file () [enviados por function.move-file]: Não é possível mover '/ tmp / phpFMaeAs' para '/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/6' em / home / taalhulp / domains / taalhulpmanager.nl / public_html / Gegev_Dossier.php na linha 66
Aqui está uma versão simplificada do meu código
$FotoMap = '/home/taalhulp/domains/taalhulpmanager.nl/public_html/files/' ;
if ($_POST['type'] == 'add' & strlen($_FILES['FileUpload']['name']) > 0 && strlen($_POST["GivenFileName"]) > 0 )
{
if (move_uploaded_file($_FILES['FileUpload']['tmp_name'], $FotoMap . $file_name_id))
{
$_SESSION['echo'] = 'succes';
}
else
{
$_SESSION['echo'] = 'fail';
}
}
diz permissão negada, mas porque é que eu faço algo errado ou porque eu preciso entrar em contato com o meu provedor de dizer a ele para permitir que, talvez eu posso permitir que me?
Solução
Certifique-se de que as permissões de /home/taalhulp/domains/taalhulpmanager.nl/public_html/files/
estão definidas para 0777
.
Eu não recomendo fazer isso uma vez que abre um monte de questões de segurança. Você seria melhor descobrir em qual usuário ou grupo o script está sendo executado e modificar o diretório para ser possuído por esse usuário em seu lugar.
Outras dicas
você provavelmente não tem permissões (motor de PHP / servidor web Apache) para acessar o diretório para uploads temporários. tentar definir o seu caminho temporário personalizado.