Php Upload
Résolu
Breub62
Messages postés
3452
Statut
Membre
-
Breub62 Messages postés 3452 Statut Membre -
Breub62 Messages postés 3452 Statut Membre -
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
- Upload video youtube - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Fourtoutici upload - Forum Imprimante
- 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