我试着上传文件(PDF文件)存储在某个目录无法使用move_uploaded_file()以
我使用move_uploaded_file
这样从临时移动文件:
move_uploaded_file($_FILES["userdata"]["tmp_name"],
"uploads/data/" . $_FILES["userdata"]["name"]);
运行该脚本但是当我通过FTP检查目录时,没有任何东西。
此目录及其父目录的权限为777
。我在HTML表单中使用enctype="multipart/form-data"
。
有人会知道我在做什么错吗?
var_dump($_FILES);
给出:
array(2) { ["userdata"]=> array(5) { ["name"]=> string(22) "myfile.pdf" ["type"]=> string(15) "application/pdf" ["tmp_name"]=> string(14) "/tmp/phpiUJVu7" ["error"]=> int(0) ["size"]=> int(1398957) } ["userdata2"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }
我完整的代码:
$allowedExts = array("pdf", "doc", "docx", "wps", "odt");
$temp = explode(".", $_FILES["userdata"]["name"]);
$extension = end($temp);
if ((($_FILES["userdata"]["type"] == "application/pdf")
|| ($_FILES["userdata"]["type"] == "application/msword")
|| ($_FILES["userdata"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|| ($_FILES["userdata"]["type"] == "application/vnd.ms-works")
|| ($_FILES["userdata"]["type"] == "iapplication/vnd.oasis.opendocument.text"))
&& ($_FILES["userdata"]["size"] < 4000000)
&& in_array($extension, $allowedExts)) {
if ($_FILES["userdata"]["error"] > 0) {
echo "Return Code: " . $_FILES["userdata"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["userdata"]["name"] . "<br>";
echo "Type: " . $_FILES["userdata"]["type"] . "<br>";
echo "Size: " . ($_FILES["userdata"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["userdata"]["tmp_name"] . "<br>";
if (file_exists("upload/data/" . $_FILES["userdata"]["name"])) {
echo $_FILES["userdata"]["name"] . " already exists. ";
}
else {
move_uploaded_file($_FILES["userdata"]["tmp_name"],
"uploads/data/" . $_FILES["userdata"]["name"]);
echo "Stored in: " . "upload/data/" . $_FILES["userdata"]["name"];
}
}
}
else {
echo "Invalid file";
}
所有这一切,如果报表传递,我不收到任何错误。
放'$ _FILES' – shatheesh
我是一家的var_dump d确保我正在使用roght目录。相对目录可能会给你带来惊喜。我会使用'dirname(__ FILE __)',然后建立我的绝对路径,然后打印它并检查它是否正确。 –
@ÁxelCostasPena谢谢 - 我也尝试添加绝对路径,例如:mysite.com.au/uploads/data/ – MeltingDog