无法创建文件夹
Unable to create folder
我使用uploadify允许用户在我的网站上上传个人资料图片,这些照片存储在与其用户名对应的文件夹中。例如,用户名"mrx"的文件夹为"/beta/profiles/mrx/avatars/"。它在我的本地系统上工作得很好,但是当我上传时,只有"mrx"父文件夹以权限"0000"创建;我通过一个隐藏的输入传递用户的上传文件夹,该输入的值是用户文件夹的路径。我使用codeigniter和webroot看起来像这样
public_html/β/应用程序/系统/资产/配置文件//mrx/米/
mrx文件夹应该有"avatar"在里面,但不是由我的上传脚本创建的;
上传脚本
if (!empty($_FILES)) {
$file = new Uploader();
$path = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
if(!file_exists($path))
{
mkdir($path,0777,true);
}
$file_temp = $_FILES['Filedata']['tmp_name'];
$file_name = $file->prep_filename($_FILES['Filedata']['name']);
$file_name = ereg_replace(" ","_",$file_name);
$file_ext = $file->get_extension($_FILES['Filedata']['name']);
$real_name = $file_name;
$newf_name = $file->set_filename($path, $file_name, $file_ext,TRUE);
$file_size = round($_FILES['Filedata']['size']/1024, 2);
$file_type = preg_replace("/^(.+?);.*$/", "''1", $_FILES['Filedata']['type']);
$file_type = strtolower($file_type);
$targetFile = str_replace('//','/',$path) . $newf_name;
move_uploaded_file($file_temp,$targetFile);
$filearray = array();
$filearray['file_name'] = $newf_name;
$filearray['real_name'] = $real_name;
$filearray['file_ext'] = $file_ext;
$filearray['file_size'] = $file_size;
$filearray['file_path'] = $targetFile;
$filearray['file_temp'] = $file_temp;
//$filearray['client_id'] = $client_id;
$json_array = json_encode($filearray);
echo $json_array;
}else{
echo "1";
}
这个控制器传递文件夹来上传
function avatar()
{
$this->isloggedin();
$data['title'] = "Your Avatar | PheedBakk";
$data['username'] = $this->session->userdata("username");
$data['user_id'] = $this->session->userdata('user_id');
$data['avatar'] = $this->site_config->get_setting_value('default_avatar');
$data['user'] = $this->user_model->profile($data['username']);
$data['upload_folder'] = "/beta/profiles/".$this->session->userdata('username')."/avatars";
$this->load->view('templates/user_header',$data);
$this->load->view('templates/user-left-bar');
$this->load->view('settings/avatar');
$this->load->view('templates/user-right-bar');
$this->load->view('templates/footer');
}
我做错了什么?
先创建一个文件夹,再创建另一个文件夹,不递归设置为true
…
$path1 = "/beta/profiles/$username";
$path2 = "/beta/profiles/$username/avatars";
mkdir($path1,0777);
mkdir($path2,0777);
或者在文件夹创建后对目录调用chmod:
chmod("/beta/profiles/$username/avatars", 0777);
相关文章:
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- 在Alfresco中动态创建空间/文件夹的Javascript;t工作正确
- 用javascript创建文件夹
- gull.dest未创建目标文件夹
- 使用FSO创建或删除文件夹
- 如何使用javascript创建新的文件夹/文件
- Grunt:Grunt命令后未创建Dist文件夹
- 创建具有多个子文件夹链接的Ajax网站失败
- 在Express.js应用程序的公用文件夹中创建一个文件
- 当.js和.html不在同一文件夹中时,如何在Aurelia中创建自定义元素
- 如何使用下一个 botton 和自动查找文件夹为 HTML 模板创建演示栏
- 如何创建文件夹,此文件夹中的文件,压缩文件夹(在zip或rar文件中)并使用Javascript将其上传到桌面
- Yii 无法在 assets 文件夹中创建 javascript 文件
- 使用 gulp 编译 TypeScript 会创建一个不需要的目标文件夹
- 表单提交时创建的多个文件夹
- 在Google Apps Script上为上传的文件创建文件夹
- 如何使用Javascript在磁盘上创建文件夹,如时间戳
- 从文件夹创建zip档案,并使用Node.js保存结构
- 谷歌驱动器选择器-允许文件夹创建
- 在windows 10中使用mkdirp文件夹创建问题