File upload 简单php图像上传不适用于nginx(适用于apache)
我是nginx的新手。这在apache上有效。我使用vpssim安装了nginx、PHP-FPM、Centos6.5 x64 没有文件。目录为空,但脚本显示成功。“表示存储在example.jpg中” htmlFile upload 简单php图像上传不适用于nginx(适用于apache),file-upload,nginx,upload,php,File Upload,Nginx,Upload,Php,我是nginx的新手。这在apache上有效。我使用vpssim安装了nginx、PHP-FPM、Centos6.5 x64 没有文件。目录为空,但脚本显示成功。“表示存储在example.jpg中” html upload.php <?php $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($t
upload.php
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 100000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$fileName = $temp[0].".".$temp[1];
$temp[0] = rand(0, 3000); //Set to random number
$fileName;
if (file_exists("" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "" . $_FILES["file"]["name"]);
echo "Stored in: " . "" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
得到了答案。我从这里得到了一些帮助。 这是一个组权限问题。我更改了组的权限 对于正常的nginx安装/home/example.com/public\u html将不起作用。检查您的目录,可能是/var/www/mysite/ 用于VPSSIM安装。默认情况下,VPSSIM创建组nginx 如何解决: 检查您的许可
ls -ld /home/example.com/public_html
得到像这样的东西
drwxr-xr-x 2 root nginx 4096 Jan 24 21:06 /home/example.com/public_html
现在更改组nginx的写入权限
sudo chmod -vR g+w /home/example.com/public_html
检查更改
ls -ld /home/example.com/public_html
drwxrwxr-x 2 root nginx 4096 Jan 24 21:06 /home/example.com/public_html
要理解ls-ld check您可以使用VPSSIM中的修复错误Chmod,Chown函数来修复该错误 VPSSIM菜单==>工具-插件(选项16)==>修复错误Chmod,chown(选项5)==>按Enter键。
现在一切都会好起来的 那你有什么问题?对不起。apache是我的另一台服务器,这台服务器只有nginx。为什么不添加上载目录并使服务器崩溃
ls -ld /home/example.com/public_html
drwxrwxr-x 2 root nginx 4096 Jan 24 21:06 /home/example.com/public_html