if (file_exists("../productimages/" . $_FILES["picture"]["name"]))
{
$feedback = "<div class=\"voegproducttoefeedback\">Please change name of product<b><big> \"".$_FILES["picture"]["name"] . "\"
</big></b>The name already occurs in the database</div> ";
} else
{
$tmp_name = $_FILES["picture"]["tmp_name"];
$name = $_FILES["picture"]["name"];
move_uploaded_file($tmp_name, "../productimages/$name");
if(file_exists("../productimages/$name")) {
$feedback2 = "succeed";
}
else {
$feedback2 = "failed";
}
if ($product->saveproduct($_DB)) {
$feedback = "<div class=\"voegproducttoefeedback\">Product <b><big>\"".$product->naam."\"</big></b> created with succes</div>";
} else {
$feedback = "<div class=\"voegproducttoefeedback\">Not enough information to create product</div>";
}
}}}?>
答案 0 :(得分:5)
尝试更改目标目录权限(../ productimages /)
答案 1 :(得分:0)
正如Goo所说,检查权限,但也要确保PHP配置为允许上传,并且正确设置了最大上传大小。
检查file_uploads设置为'on',upload_max_filesize设置为合理限制。
答案 2 :(得分:0)
如果您有权访问它们,请检查您的PHP错误日志。
您的主机很可能尚未为负责PHP过程的帐户启用写入权限。你需要看看他们是否可以启用它。
答案 3 :(得分:0)
好的,问题(部分)已经解决了。我改变了productimages的权限......但是这个过程的成功需要777的许可......虽然不是很安全。这是我的结构,也许你可以看到问题......
以上脚本位于products.php
中http://img695.imageshack.us/i/schermafbeelding2011010kt.png/
答案 4 :(得分:0)
在your own answer中,您说:
好的,问题(部分)已经解决了。我改变了productimages的权限...... 但该过程的成功需要777许可......虽然不是很安全
解决此问题的最佳方法是将目录的所有权更改为Web服务器运行的用户。但是,这将需要root访问服务器(或sudo
命令),这是您最不可能的。所以这是一个解决方法:
重写您的脚本以检查productimages
是否存在,如果不存在,则创建它:
if(!is_dir('../productimages/')) mkdir('../productimages/', 0755);
然后,删除productimages
目录。您将让脚本为您重新创建它。如果是这样,网络服务器的用户将拥有该脚本。
为了实现这一目标,chmod 777
*父目录。 这只是暂时的,并允许脚本创建目录。
运行脚本。确保它创建了productimages
目录。如果有,chmod 755
支持父母指导。
这应该使您能够获得所需的权限,并控制目录的访问权。