我目前正在开发一个非常简单的PHP文件上传,但它根本没有做任何事情。指定目录中没有任何内容。
PHP提交我的HTML表单:
<?php
if ($_FILES["file"]["error"] > 0)
{
//error
echo "Something went wrong";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"/uploads/" . $_FILES["file"]["name"]);
}
?>
我怀疑使用GoDaddy的事情可能会有些问题,因为他们过去一直对php功能很古怪。
编辑:修正了下划线; 现在我收到了一个实际错误。
Warning: move_uploaded_file(/uploads/asd.docx) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/content/09/11461509/html/php/upload.php on line 11
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpSIA5Jv' to '/uploads/asd.docx' in /home/content/09/11461509/html/php/upload.php on line 11
答案 0 :(得分:2)
您从不同的文件夹"php"
运行代码,而不是我通过错误消息收集的代码。尝试从服务器的根目录运行代码,然后使用uploads
作为上传文件夹。
还要确保该文件夹具有正确的写入权限集。通常为755
,有时为777
,但755
是更安全的设置。
根据OP的original posted code
在$
和FILES
move_uploaded_file($FILES["file"]["tmp_name"],
---^
<?php
if ($_FILES["file"]["error"] > 0)
{
//error
echo "Something went wrong";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"/uploads/" . $_FILES["file"]["name"]);
}
?>
答案 1 :(得分:0)
请将表单标记中的enctype
添加为multipart/form-data
,PHP代码应如下所示 -
首先确保您的文件已在temp目录中成功上传,然后尝试调试上传路径,最后将文件移动到特定目录。
<?php
if ($_FILES["file"]["error"] > 0) {
//error
echo "Something went wrong";
} else {
// try echoing the following codes first-
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
// then try to debug upload path
// move_uploaded_file($_FILES["file"]["tmp_name"],"/uploads/" . $_FILES["file"]["name"]);
// take move_uploaded_file(); in a variable and then print_r($variable);
}
?>
我指的是使用PHP阅读this post上传问题docx
文件。
答案 2 :(得分:0)
试试这个
<html>
<body>
<form action="" method="post"enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
?>
答案 3 :(得分:-1)
请以表格标记enctype="multipart/form-data"