Php Upload
Résolu
Breub62
Messages postés
2989
Date d'inscription
Statut
Membre
Dernière intervention
-
Breub62 Messages postés 2989 Date d'inscription Statut Membre Dernière intervention -
Breub62 Messages postés 2989 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais savoir quel problème d'upload ne renvoie pas de message d'erreurs quand on fait echo $_FILES['file']['error'];
et ne renvoi que Array(0) { } quand on fait un var_dump($_FILES).
J'ai eu beau chercher je reste toujours bloqué.
Merci de votre contribution à la préservation de ma santé mentale... ;)
Configuration: Windows XP / Firefox 3.6.3
J'aimerais savoir quel problème d'upload ne renvoie pas de message d'erreurs quand on fait echo $_FILES['file']['error'];
et ne renvoi que Array(0) { } quand on fait un var_dump($_FILES).
J'ai eu beau chercher je reste toujours bloqué.
Merci de votre contribution à la préservation de ma santé mentale... ;)
Configuration: Windows XP / Firefox 3.6.3
A voir également:
- Php Upload
- Youtube upload - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Commun file upload pattern ✓ - Forum Réseaux sociaux
- Gofile upload - Télécharger - Téléchargement & Transfert
9 réponses
Non justement j'ai vérifié 100 fois, pas d'espace en trop, pas de problème de ce côté, je comprend pas ce qui cloche
Vérifie ces paramètres dans ton php.ini :
file_uploads = On upload_tmp_dir="C:\Windows\Temp" (Ou autre valeur, bien sûr) upload_max_filesize = 11M (Ou autre. Mais il faut que le fichier soit plus petit. De base c'est à 2M je crois)
Oui j'ai voulu toucher au php.ini mais malheureusement je ne sais pas comment y accéder car mon wamp est sur un serveur distant...Le phpinfo() me donne le répertoire du php.ini qui est sur le serveur mais dont l'accès m'est restreint... Y a-t-il un moyen de mettre son propre php.ini pour un projet donné??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Quel est ton hébergeur ?
On peut modifier les valeurs du php.ini grâce à un .htaccess ou avec ini_set() (ou avec son propre php.ini chez 1&1).
On peut modifier les valeurs du php.ini grâce à un .htaccess ou avec ini_set() (ou avec son propre php.ini chez 1&1).
Je suis sur le réseau intranet d'une entreprise pour laquelle je suis en stage. Je vais chercher plus de détails sur ini_set(). Merci
Voilà mon form :
Puis le traitement :
Si vous voyez quelque chose qui bloque... Merci de votre aide
echo "<center><form enctype='multipart/form-data' method=post action='index.php?action=ModifierMachine' name='FormAjoutMachine' onSubmit='return check();'><table width = 60%>"; echo "<input type=hidden name=MAX_FILE_SIZE value=2048>"; echo "<input type=hidden name='FormAjoutMachine' value='FormAjoutMachine' />"; echo "<input type=hidden name='numMachine' value='".$dataTrouverMachine['NumMachine']."' />"; echo "<tr ><td width =50%>Nom de machine : </td><td><input type=text name='NomMachine' value='$NomMachine' onKeyUp='couleur(this);' /></td></tr>"; echo "<tr ><td>Date d'achat :</td><td>"; include("calendar.html"); echo "<input onfocus='ds_sh(this);' name='date' readonly='readonly' style='cursor: text' onFocus='couleur(this);' value='".$dataTrouverMachine['DateAchat']."' />"; echo "</td></tr>"; echo "<tr ><td>URL Photo : <em>".$dataTrouverMachine['UrlPhoto']."</em></td><td><input type=file name='URLPhoto' /></td></tr>"; echo "<tr ><td>Modèle : </td><td><input type=text name='ModeleMachine' onKeyUp='couleur(this);' value='".$dataTrouverMachine['Modele']."' /></td></tr>"; echo "<tr ><td>N° de série : </td><td><input type=text name='NumSerie' onKeyUp='couleur(this);' value='".$dataTrouverMachine['NumSerie']."' /></td></tr>"; echo "<tr ><td>N° immo : </td><td><input type=text name='numImmo' onKeyUp='couleur(this);' value='".$dataTrouverMachine['NumImmo']."' /></td></tr>"; echo "</table></form>";
Puis le traitement :
$UrlPhoto = "Images/".date('Ymd').$_SESSION['URLPhoto']['tmp_name']; if(move_uploaded_file($_FILES["URLPhoto"]["tmp_name"], $UrlPhoto)) { $queryModifMachine = "UPDATE machine SET NomMachine='".mysql_real_escape_string($_SESSION['NomMachine'])."', UrlPhoto='".mysql_real_escape_string($UrlPhoto)."', Modele='".mysql_real_escape_string($_SESSION['ModeleMachine'])."', NumSerie='".mysql_real_escape_string($_SESSION['NumSerie'])."', DateAchat='".mysql_real_escape_string($_SESSION['date'])."', DureeGarantie='".mysql_real_escape_string($_SESSION['DureeGarantie'])."', PUHT='".mysql_real_escape_string($_SESSION['PUHT'])."', Processeur='".mysql_real_escape_string($_SESSION['Processeur'])."', RAM='".mysql_real_escape_string($_SESSION['RAM'])."', CarteGraphique='".mysql_real_escape_string($_SESSION['CarteGraphique'])."', DisqueDur='".mysql_real_escape_string($_SESSION['DisqueDur'])."', TechniqueImpression='".mysql_real_escape_string($_SESSION['TechImpr'])."', CouleurNB='".mysql_real_escape_string($_SESSION['CouleurNB'])."', TailleEcran='".mysql_real_escape_string($_SESSION['TailleEcran'])."', NumImmo='".mysql_real_escape_string($_SESSION['numImmo'])."', NumAffectation='".mysql_real_escape_string($_SESSION['NumAffectation'])."', CodeConstructeur='".mysql_real_escape_string($CodeConstructeur)."', CodeFournisseur='".mysql_real_escape_string($_SESSION['CodeFournisseur'])."' WHERE NumMachine='".mysql_real_escape_string($_SESSION['numMachine'])."'"; } else { $queryModifMachine = "UPDATE machine SET NomMachine='".mysql_real_escape_string($_SESSION['NomMachine'])."', Modele='".mysql_real_escape_string($_SESSION['ModeleMachine'])."', NumSerie='".mysql_real_escape_string($_SESSION['NumSerie'])."', DateAchat='".mysql_real_escape_string($_SESSION['date'])."', DureeGarantie='".mysql_real_escape_string($_SESSION['DureeGarantie'])."', PUHT='".mysql_real_escape_string($_SESSION['PUHT'])."', Processeur='".mysql_real_escape_string($_SESSION['Processeur'])."', RAM='".mysql_real_escape_string($_SESSION['RAM'])."', CarteGraphique='".mysql_real_escape_string($_SESSION['CarteGraphique'])."', DisqueDur='".mysql_real_escape_string($_SESSION['DisqueDur'])."', TechniqueImpression='".mysql_real_escape_string($_SESSION['TechImpr'])."', CouleurNB='".mysql_real_escape_string($_SESSION['CouleurNB'])."', TailleEcran='".mysql_real_escape_string($_SESSION['TailleEcran'])."', NumImmo='".mysql_real_escape_string($_SESSION['numImmo'])."', NumAffectation='".mysql_real_escape_string($_SESSION['NumAffectation'])."', CodeConstructeur='".mysql_real_escape_string($CodeConstructeur)."', CodeFournisseur='".mysql_real_escape_string($_SESSION['CodeFournisseur'])."' WHERE NumMachine='".mysql_real_escape_string($_SESSION['numMachine'])."'"; } mysql_query($queryModifMachine) or die(mysql_error());
Si vous voyez quelque chose qui bloque... Merci de votre aide
bon, d'apres : https://www.php.net/manual/fr/function.move-uploaded-file.php
Si ça fonctionne pas mais que t as pas d'erreur c est le filename qui est invalide (ici ton $_files).
Fais un echo de $UrlPhoto et de $_FILES["URLPhoto"]["tmp_name"] pour voir ce que ça marque.
Si ça fonctionne pas mais que t as pas d'erreur c est le filename qui est invalide (ici ton $_files).
Fais un echo de $UrlPhoto et de $_FILES["URLPhoto"]["tmp_name"] pour voir ce que ça marque.
Si ca marque rien ca veut dire que dans ta fonction tu ne passes rien, c'est sur que ca peut pas fonctionner :).
Je sais pas trop ce qu'il te faut dans tes 2 urls de destinations mais pour récupérer une variable envoyé par post pour reprendre ton exemple de nom, ce sera $_POST['nom']
En plus la il manque vachement d'info que tu nous as pas donné, tmp name viens d'où ?
et $_SESSION = quoi ?
ps : et l'echo de $UrlPhoto devrait au moin t'écrire "Images/" non ?
Je sais pas trop ce qu'il te faut dans tes 2 urls de destinations mais pour récupérer une variable envoyé par post pour reprendre ton exemple de nom, ce sera $_POST['nom']
En plus la il manque vachement d'info que tu nous as pas donné, tmp name viens d'où ?
et $_SESSION = quoi ?
ps : et l'echo de $UrlPhoto devrait au moin t'écrire "Images/" non ?
Tiens je t'ai fait un code qui fonctionne pour l'upload de fichier :
A toi de l'adapter ^^
<html> <body> <center> <form ENCTYPE="multipart/form-data" method='POST' action=''> URL de l'image:<br> <input type='file' name='pix'><br> <br> <input type='submit' value='go!'><br> <br> </form> <?php import_request_variables("P","V_"); if(isset($V_pix)) { $tmp = $_FILES['pix']['tmp_name']; $name = 'images/'.$_FILES['pix']['name']; echo "//".$_FILES['pix']['name']."<br>//".$_FILES['pix']['tmp_name']."<br>"; if(move_uploaded_file($tmp, $name ) == 1) { echo "OK !"; } else {echo "KO!";} } ?> </center> </body> </html>
A toi de l'adapter ^^
Problème résolu...enfin... il venait de là :
remplacé par :
Ainsi mes variables FILES sont converties en SESSION en même temps que mes POST et je ne perds plus mes infos... Merci pour votre aide
session_start(); if(!empty($_POST)) { foreach($_POST as $cle => $val) { if($cle != 'URLPhoto') // test des post à ne pas convertir en session { $_SESSION[$cle] = $val; unset($_POST[$cle]); } } echo "<script language='javascript'>history.go(-1);</script>"; exit(); } if(!empty($_FILES)) { foreach($_FILES as $cle => $val) { $_SESSION[$cle] = $val; } echo "<script language='javascript'>history.go(-1);</script>"; exit(); }
remplacé par :
session_start(); if(!empty($_POST) || !empty($_FILES)) { foreach($_POST as $cle => $val) { if($cle != 'URLPhoto') // test des post à ne pas convertir en session { $_SESSION[$cle] = $val; unset($_POST[$cle]); } } foreach($_FILES as $cle2 => $val2) { $_SESSION[$cle2] = $val2; } echo "<script language='javascript'>history.go(-1);</script>"; exit(); }
Ainsi mes variables FILES sont converties en SESSION en même temps que mes POST et je ne perds plus mes infos... Merci pour votre aide