PHP - 使目录代码不起作用

时间:2014-01-17 19:44:00

标签: php html directory dir

我遇到一些PHP代码的问题,我似乎无法理解为什么它不起作用。

因此,简而言之,我创建了一个社交网站,用户可以上传自己的个人资料图片。为了禁止其他人能够查看我正在制作的每张图片,以便用户上传个人资料图片,它会创建一个新的随机生成的目录。当我点击上传时,它不会创建目录。 (目前没有图片进入目录,只有目录应该制作,但不是。)。谢谢你的帮助。

PHP代码:

if (isset($_FILES['profilepic'])) {    if
(((@$_FILES["profilepic"]["type"]=="image/jpeg") ||
(@$_FILES["profilepic"]["type"]=="image/png") ||
(@$_FILES["profilepic"]["type"]=="image/gif"))&&(@$_FILES["profilepic"]["size"]
< 1048576)) //1 Megabyte   {    $chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";   
$rand_dir_name = substr(str_shuffle($chars), 0, 15);   
mkdir("./userdata/profile_pics/$rand_dir_name");

}
else
{

}
}

HTML代码:

<p style="font-size: 20px;">Upload a Profile Picture</p><br />
<form action="" method-"POST" enctype="multipart/form-data">
<img src="./img/default_pic.png" width="70" height="70">
<input type="file" name="profilepic" /><br />
<i>Your Profile Picture must <b>not</b> violate any of the <a href="#">Terms and Conditions</a>!</i><br />
<input type="submit" name="uploadpic" value="Upload Image">
</form>

1 个答案:

答案 0 :(得分:0)

如果您的括号和其他代码是正确的,那么如果您在Linux服务器上或/并且尚未创建嵌套目录,则权限目录可能存在问题

试试这个

mkdir ("./userdata/profile_pics/$rand_dir_name", 0777 , true); 

第二个参数是八进制值,它赋予它最大的权限,第三个参数允许mkdir也创建像userdata和profile_pics这样的嵌套目录。