<?php
if (isset($_FILES['datei']))
{
move_uploaded_file($_FILES['datei']['tmp_name'], 'upload/'.$_FILES['datei']['name']);
echo "Filee successfully uploaded.";
chmod($_FILES["datei"]["name"], 777);
echo "<p> Chmod successfully set!<br>";
}
?>
上传有效,但未设置chmod。任何人都可以帮忙并检查代码吗?
答案 0 :(得分:4)
您需要拥有文件的绝对路径。 例如:
chmod("/var/www/files/uploads/" . $_FILES["datei"]["name"] . ".jpg", 0777)
确保文件位置确实存在。廉价而肮脏的方式:
if(!file_exists("/var/www/files/uploads/" . $_FILES["datei"]["name"] . ".jpg")) {
die("File not found with path: /var/www/files/uploads/" . $_FILES["datei"]["name"] . ".jpg");
}
编辑:同样,在Aquillo的回答中,它应该是0777。
答案 1 :(得分:0)
答案 2 :(得分:0)
您将文件移至'upload/'.$_FILES['datei']['name']
但chmod $_FILES['datei']['name']
。请注意,你错过了'upload /'。将chmod更改为:
chmod('upload/'.$_FILES['datei']['name'], 0777);
答案 3 :(得分:0)
你需要在模式前加零(0),所以
mode should be 0777
chmod($_FILES["datei"]["name"], 0777); //correct way of mode