2011-10-30 56 views
1

我正在使用uploadify來允許我網站上的用戶上傳個人資料照片,這些照片存儲在與其用戶名相對應的文件夾中。 例如,用戶名爲「mrx」的用戶具有文件夾「/ beta/profiles/mrx/avatars /」。 它在我的本地系統上運行良好,但是當我只上傳「mrx」父文件夾時創建了許可「0000」; 我通過一個隱藏的輸入爲用戶傳遞上傳文件夾,該輸入的文件夾路徑爲其值。 正在使用笨和Webroot公司看起來像這樣無法創建文件夾

的public_html/ 測試/ 應用/ 系統/ 資產/ 型材/ /MRX/ 米/

的MRX文件夾應該有「頭像「,但不是由我的uploadify腳本創建的;

這是uploadifiy腳本

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"; 
} 

而這個控制器是通過文件夾來uploadify

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'); 
     } 

我究竟做錯了什麼?

+0

類似:HTTP:/ /stackoverflow.com/questions/2862867/php-mkdir-issue – Luke

回答

0

創建一個文件夾,然後其他沒有遞歸集合到true ...

$path1 = "/beta/profiles/$username"; 
$path2 = "/beta/profiles/$username/avatars"; 

    mkdir($path1,0777); 
    mkdir($path2,0777); 

或者一旦創建的文件夾呼籲目錄CHMOD:

chmod("/beta/profiles/$username/avatars", 0777); 
相關問題