【问题标题】:PHP - Make Directory Code Not WorkingPHP - 使目录代码不起作用
【发布时间】:2014-01-17 19:44:00
【问题描述】:

我的一些 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>

【问题讨论】:

  • 您的变量是要被注释掉的吗? > 实际上在您的代码中吗?
  • 一方面,你有一个流浪者if,而且你的支撑已经被淘汰了。
  • profile_pics 文件夹是否已经存在于您的 ./userdata 目录中?
  • @LiamSorsby:我的变量没有在“真实”代码中注释掉,但由于某种原因,当我将它复制并粘贴到这里时,它变得紧凑而有趣。
  • @Fred-ii- 这不是一个流浪者,但就像我说的,当我将它复制并粘贴到这里时,它会自行压缩,看起来很乱。

标签: php html directory dir


【解决方案1】:

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

试试这个

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

第二个参数是八进制值,它赋予它最广泛的权限,第三个参数允许 mkdir 也可以创建嵌套目录,如 userdata 和 profile_pics。

【讨论】:

  • 改变了它,仍然没有。如果有任何帮助,我正在使用 Coffee Cup Direct FTP。我用 Filezilla 试过了,也没用。
  • 您是否在正确的位置寻找目录。因为您正在使用相对路径 ./ 尝试使用绝对路径。您可以使用 phpinfo() 函数找到绝对路径
  • 据我所知是的。我已经尝试过不添加 ./ 并没有改变任何东西。
  • 删除 ./ 后是否添加了绝对路径?您可以通过 echo phpinfo() 找到当前文件的绝对路径,然后搜索 _SERVER["SCRIPT_FILENAME"]
  • 我回应了这个:$fullpath = dirname(FILE);得到了这个:/srv/disk13/1592237/www/buddylog.atspace.co.uk/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多