Utilisez l'option de téléchargement pour autoriser les utilisateurs de mon site à télécharger des images de profil stockées dans des dossiers correspondant à leur nom d'utilisateur. Par exemple, un utilisateur avec le nom d'utilisateur "mrx" a le dossier "/ beta/profiles/mrx/avatars /". Cela fonctionne bien sur mon système local, mais quand j'ai téléchargé seulement le dossier parent "mrx" est créé avec la permission "0000"; Je passe le dossier de téléchargement pour les utilisateurs via une entrée cachée qui a le chemin de leur dossier comme valeur. Am en utilisant CodeIgniter et Webroot ressemble à ceImpossible de créer le dossier
public_html/ beta/application /système / actifs/ profils/ /mrx/ m/
Le dossier mrx est censé avoir le " avatars "à l'intérieur, mais n'est pas créé par mon script uploadify;
Ceci est le script 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";
}
Et ce contrôleur qui passe le dossier à 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');
}
Qu'est-ce que je fais mal?
similaires à: http://stackoverflow.com/questions/2862867/php-mkdir-issue – Luke