2012-10-11 52 views
0

我有一个非常简单的PHP脚本根据产品ID创建一个目录,这些文件夹用于将产品ID特定图像上传到它。MKDIR和CHMOD工作,上传不成功

一旦这个文件夹是用PHP脚本mkdir('folder',0777)制作的,我用PHP上传一个图像到刚创建的文件夹。这不起作用,因为它应该:move_uploaded_file函数在服务器safe_mode函数中返回一个规则。虽然这个服务器的safe_mode属性关闭了,但仍然给出了这个错误/警告。

当我与我的FTP用户帐户查询,我看到的权限777发目录,但是上传的视频不会succees上传到该目录...

它奇诡的是,当我手动删除制作好的目录并制作一个新的(通过FTP)上传工作完美!

有没有人有任何线索解决这个问题?我不是经验丰富的服务器:) 谢谢!

+0

显示确切的错误信息和您正在使用的确切路径(S)。 PHP的安全模式限制与FTP无关 –

+0

这可能是一种“基本限制”,有时会被误称为“安全模式”。检查是否没有有效的基地限制。 – Robbie

+0

但是,如果安全模式打开,用PHP脚本上传图片也不会有可能吗?错误消息:Warning:move_uploaded_file()[function.move-uploaded-file]:SAFE MODE限制有效。 uid为10109的脚本不允许访问/var/www/vhosts/upsn.be/httpdocs/admin/logic中的uid 502拥有的/var/www/vhosts/upsn.be/httpdocs/admin/products/18 /addfoto.php 19行 – CGBe

回答

0

使用本作的mkdir的用户名是在uplod文件夹中的文件夹名称

if(!is_dir('uploads/'.$username . "/")) { 
mkdir('uploads/'.$username . "/", 0755); 
}` 
0

你必须采取的帐户,创建目录当创建掩码相与与umask

$old = umask(0); 
mkdir('folder', 0777, true); 
umask($old); 
+0

我试过了,但是没有解决这个问题!皮蒂! :( – CGBe

0

目录上的模式可能会受到当前umask的影响。它将结束 并拥有(mkdir-mode & (~umask))权限。

尝试:

$oldmask = umask(0); 
mkdir('folder', 0777); 
umask($oldmask);