1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| <?php
function upload_file(){
$upload_dir="uploads/";
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
$maxsize=1024*1024;
//test sur le transfert
if ($_FILES['file']['error'] > 0) {
$reponse['erreur'] = 1;
$reponse['message'] = "Erreur lors du transfert";
}
if ($_FILES['file']['size'] > $maxsize) {
$reponse['erreur'] = 1;
$reponse['message'] = "Fichier trop gros";
}
$extension_upload = strtolower( substr( strrchr($_FILES['file']['name'], '.') ,1) );
if ( !in_array($extension_upload,$extensions_valides) ) {
$reponse['erreur'] = 1;
$reponse['message'] = "Fichier incorrect";
}
//Créer un identifiant difficile à deviner
$nom = md5(uniqid(rand(), true));
$nom = $nom.$upload_dir;
//déplacement des fichiers
$resultat = move_uploaded_file($_FILES['file']['tmp_name'],$nom);
if (!$resultat) {
$reponse['erreur'] = 1;
$reponse['message'] = "echec du transfert vers uploads.";
}
if ($reponse['erreur']==1) {
// On fait l'echo de l'array en encodant en json
echo json_encode($reponse);
}else {
// On retourne l'url de l'image
$img_url = base_url().$nom;
$reponse['erreur'] = 0;
$reponse['image'] = $img_url;
// On fait l'echo de l'array en encodant en json
echo json_encode($reponse);
}
}
// // Configuration upload de fichier
// // $config['upload_path'] = 'uploads/'; // dossier où l'on stocke les fichiers
// // $config['allowed_types'] = 'png|jpg|gif'; // type de fichiers, ici des images
// // $this->upload->initialize($config);
// // Si l'upload n'a pas réussi, on renvoit une erreur (1)
// if(!$this->upload->do_upload()):
// // Important : les erreurs renvoyées par CodeIgniter sont pré-formatées en HTML, on vire donc les tags
// $erreur = strip_tags($this->upload->display_errors());
// // On prépare une array...
// $reponse['erreur'] = 1;
// $reponse['message'] = $erreur;
// // On fait l'echo de l'array en encodant en json
// echo json_encode($reponse);
// else:
// // Si le fichier a bien été uploadé, on renvoit 0 en erreur + les infos du fichier
// $fileInfos = array('upload_data' => $this->upload->data()); // On crée une array pour faciliter la récupération d'infos fichier
// $img_url = base_url().'uploads/'.$fileInfos['upload_data']['file_name']; // On va renvoyer ici l'adresse du fichier
// // On prépare une array...
// $reponse['erreur'] = 0;
// $reponse['image'] = $img_url;
// // On fait l'echo de l'array en encodant en json
// echo json_encode($reponse);
// endif;
}
$reponse['erreur'] = 1;
$reponse['image'] = "Le PHP a bien été appelé, mais la fonction n'est pas executé, et c'est logique";
echo json_encode($reponse); |
Partager