[英]Why I don't have permission of reading of my project after configurate Apache in OSX Maverick?
[英]My mkdir() function tells me I don't have permission
我正在尝试创建一个存储所有用户个人资料图片的目录。 每当我点击上传按钮时,它会显示:警告:mkdir():第60行的/Applications/XAMPP/xamppfiles/htdocs/testing/account_settings.php中的权限被拒绝
这是mkdir()代码:
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
mkdir("userdata/profile_pics/$rand_dir_name");
我尝试更改权限:
mkdir("userdata/profile_pics/$rand_dir_name", 0777);
我仍然被拒绝。 我究竟做错了什么?
PS:完整代码:
<?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)) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
mkdir("userdata/profile_pics/$rand_dir_name", 0777);
} else {
echo "Upload failed";
}
}
?>
上传表格:
<form action="" method="POST" enctype="multipart/form-data">
<img src="<?php echo $profile_pic; ?>" width="70"><br>
<input type="file" name="profilepic"><br>
<input type="submit" name="uploadpic" value="Upload Image">
</form>
命令
mkdir("userdata/profile_pics/$rand_dir_name", 0777);
只会为新创建的目录设置权限。 您需要更改尝试创建该文件夹的目录的权限。
首先尝试进入你的个人资料pics目录(并确保你有写权限),然后在那里创建目录。
chdir('userdata/profile_pics'); // Make sure this is writable
mkdir($rand_dir_name, 0755);
除非您想让系统上的任何用户全局写入文件夹,否则chmod 755应该足以允许Web服务器上传到目录中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.