Fork me on GitHub

Rapport de message :*
 

Upload de fichiers

Titre du sujet : Upload de fichiers
par ninjodo sur 09/07/2011 14:45:24

Bonjour,

Je suis en train de coder un nouveau module.
Je créé un formulaire permettant d'uploader une image.

Je n'avais encore jamais fait.
Maintenant je comprends pourquoi : c'est gavant !
--------------------------------------------------
1er prob :

Dans mon formulaire le code fonctionne nickel :
$my_form->setExtra"enctype='multipart/form-data'" ) ; // impératif !

$img_box = new XoopsFormFile(_MI_COTATIONS_AFFICHE"affiche"10000000); $img_box->setExtra"size ='65'") ; // optionnel : pour fixer la longueur de la textbox
$my_form->addElement($img_box);


Dans ma page de destination, j'ai mis le code suivant :
// récupération du nom du fichier d'origine    
 // on pourrait également utiliser $field = $_POST["xoops_upload_file"][0] ;
     
$field $_FILES['affiche']['name'];      

// test si le champ a été rempli :     
if( !empty( $field ) || $field != "" ) {      

// puis test si le fichier a été uploadé dans le répertoire temporaire:     
if( $_FILES[$field]['tmp_name'] == "" || ! is_readable$_FILES[$field]['tmp_name'] ) ) {      

// non = l'upload a echoué on retourne au formulaire   
  
redirect_header'index.php' 2_MD_FILEERROR ) ;     exit ;     }     

// création de l'objet uploader     
$uploader = new XoopsMediaUploader($img_dir$allowed_mimetypes$max_imgsize$max_imgwidth$max_imgheight);      

// test si le fichier uploadé est conforme en dimension et taille, et bien copié du répertoire temporaire au répertoire indiqué     
if( $uploader->fetchMedia$field ) && $uploader->upload() ) {      

// L'upload a réussi - à  adapter bien évidemment   
echo 'File uploaded successfully!';     

// nom du fichier uploadé     
echo 'Saved as: ' $uploader->getSavedFileName() ;     

// chemin complet     
echo 'Full path: ' $uploader->getSavedDestination();      

// sinon l''upload a échoué : message d'erreur
     
} else {     echo $uploader->getErrors();     }     }


Le fichier ne veut pas s'uploader.

Je suis en local sur linux.
Dernière version xoops, dernière version apache, phpmyadmin, etc.

Je n'ai évidemment pas oublié le :
include_once(XOOPS_ROOT_PATH."/class/uploader.php");

--------------------------------------------------
2è prob :

J'essaie de comprendre où se trouve mon répertoire temporaire sur linux (histoire de déterminer si c'est mon code qui ne fonctionne pas, ou si effectivement mon fichier n'est pas téléchargé).

Or j'ai des infos qui viennent de partout.

1) Quand je mets :
echo $_ENV['TMP'].'
';
il m'affiche /tmp

2) Quand je cherche un php.ini, j'en ai deux.
Un dans : /etc
Un dans : /opt/lampp/etc

Bon... Il est où ce %$¤£* de répertoire temporaire ?
--------------------------------------------------

Vous l'aurez compris, je suis une quiche mais une quiche curieuse, alors HEEELP !



Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

46 Personne(s) en ligne (32 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 46 | Plus ...