Codeigniter: Téléchargement D'Images
J'ai une grande forme, et j'ai juste ajouté un fichier d'entrée pour permettre aux utilisateurs de télécharger une image.
Voici le nouveau code HTML:
<input type="file" name="file_1" />
<input type="text" name="image_description_1" class="text-input"/>
Voici le nouveau _submit fonction:
if($this->CI->input->post('file_1')){
$config['overwrite'] = TRUE;
$config['allowed_types'] = 'jpg|jpeg|gif|png';
$config['max_size'] = 2000;
$config['upload_path'] = realpath(APPPATH . '../assets/uploads/avatars');
$this->CI->load->library('upload', $config);
$this->CI->upload->do_upload();
$image_data = $this->CI->upload->data();
$image['description'] = $this->CI->input->post('image_description_1');
$image['user_id'] = $id;
$image['image'] = $image_data['file_name'];
$this->CI->db->insert('report_images',$image);
}
La description et user_id sont correctement par soumission, mais le fichier est perdu.
Devrais-je faire quelque chose de différent? Pas vraiment sûr de ce qui va mal.
OriginalL'auteur Kevin Brown | 2011-01-13
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, ne pas obtenir de la
do_upload()
pour acquis, vous devez valider les télécharger:Aussi, très probablement, il est de votre
upload_path
, consultez le document que j'ai lié à:De sorte que vous pouvez avoir besoin de changer votre réglage à quelque chose comme:
form_open
etform_open_multipart
. Encore une fois, db les valeurs sont l'obtention de saisies, pas de téléchargement. Pourrait-il avoir à faire avec mon chemin?tout d'abord bien SÛR vous devez utiliser
form_open_multipart
! aussi, où est votre dossier des actifs? en dehors de le système de dossier? qu'est-ce que votre structure de dossier?l'application, l'actif et le système sont à la racine.
Brun: ok, donc,
$config['upload_path'] = './assets/uploads/avatars/';
devrait fonctionner?J'AI JUSTE RÉUSSI À LE FAIRE FONCTIONNER. Je vous remercie beaucoup. J'étais un idiot. 🙂
OriginalL'auteur ifaour
codeigniter attend votre fichier d'entrée pour être nommé userfile, sauf si vous spécifiez dans votre code comme celui-ci,
name="userfile"
. Toujours pas de chance.pouvez-vous ajouter à votre code à la place de
$this->CI->upload->do_upload()
'if(!$this->CI->télécharger>do_upload()){$this->CI->télécharger>display_errors();}`Je ne suis pas d'obtenir quoi que ce soit...
OriginalL'auteur sea_1987
Je ne suis pas sûr que le problème est. Mais Peut-être les liens ci-dessous pourrait vous aider.
Télécharger le fichier bug dans codeigniter
Vous pouvez également initialiser le fichier de configuration pour définir les préférences.
Téléchargement du fichier de classe dans codeigniter
OriginalL'auteur Paulraj
Assurez-vous que le nom du fichier d'entrée est réglé sur "userfile" parce que la fonction de téléchargement s'attend à ce que les fichiers provenant d'un champ de saisie dont le nom est "userfile"
OriginalL'auteur Abdullah Khan