php-文件上传不起作用
作者:互联网
我在媒体模板服务器中安装了wordpress,发现无法上传文件.尝试之后,几个解决方案决定用一个简单的脚本(http://pastie.org/2349720)复制该问题.
<?php
if($_FILES)
print_r($_FILES);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 200000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("uploads/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else if (!file_exists($_FILES["file"]["tmp_name"]))
{
echo 'temp file doesn\'t exists';
}
else
{
$uploaded=move_uploaded_file($_FILES["file"]["tmp_name"],
$_FILES["file"]["name"]);
if($uploaded)
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
else
echo "fallo la carga del archivo";
}
}
}
else
{
echo "Invalid file";
}
?>
<html>
<body>
<form action="" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
看起来move_upload_file()返回false时没有警告或错误,在php文档中查找并发现了这一点
If filename is not a valid upload file, then no action will occur, and
move_uploaded_file() will return FALSE.
我已经检查过,文件上传没有报告任何错误,并且在尝试移动它之前,该临时文件存在.已经在文件夹中设置了777权限,但仍然没有运气,关于什么可能导致此行为以及如何解决此问题的任何想法?
谢谢.
解决方法:
这给您带来什么:
$_FILES[...]['error']
如果没有给您零,您可以在这里检查出什么问题:http://php.net/manual/en/features.file-upload.errors.php.
如果是这样,请确保PHP可以访问您的文件夹所在的文件夹.您可以尝试运行以下命令:
sudo -s -u [php_user]
cd [destination_directory]
检查是否可以到达目录=)!
标签:file-upload,php 来源: https://codeday.me/bug/20191208/2088709.html