Upload de fichier

Résolu
phpdid Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
phpdid Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

Voici un problème incompréhensible mais peu être à force regarder je ne vois plus.
Un script d'upload de fichier vers Mysql. Il fonctionne pour les fichiers de - de 10 Mo. Au dessus il ne marchait pas, jusqu'à ce que je récupère l'erreur pour modifier le php.ini. depuis, lorsque j'ai modifier mon code pour récupérer tous les codes erreurs et ne plus galérer - je n'ai aucun retour si mon fichier dépasse 10 Mo..La fonction n'est même pas lancé.....En dessous ça fonctionne.


?php
function transfert ()
{
$ret = false;
$img_blob = '';
$img_taille = 0;
$img_type = '';
$img_nom = '';
$taille_max = 10485760;
$ret = is_uploaded_file($_FILES['fic']['tmp_name']);
print_r($_FILES);
if ( !$ret )
{
echo " Erreur de transfert : ";
return false;
}
else
{
// Le fichier a bien ete recu
$img_taille = $_FILES['fic']['size'];
if ( $img_taille > $taille_max )
{
echo "Fichier Trop gros !";
return false;
}
$img_type = $_FILES['fic']['type'];
$img_nom = $_FILES['fic']['name'];
$hote = 'localhost';
$base = '*****';
$user = '******';
$pass = '*********';
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
$req = "UPDATE images SET Map='".$img_nom."',Taille='".$img_taille."',Type='".$img_type."',Data='".addslashes($img_blob)."' where id=".$_GET["id"];
$ret = mysql_query ($req) or die (mysql_error ());
echo "<script type='text/javascript'>alert('Transfert OK!');</script>";
return true;

}
}
?>
<html>
<head>
<title>Stock d'images</title>
</head>
<body>
<?php
if ( isset($_FILES['fic']) )
{
transfert();
} else { $count = $count + 1; echo $count;}
?>
<h3>Envoi d'une image (Max. 10 Mo)</h3>
<br>
<br>
<FIELDSET>
<LEGEND ALIGN=CENTER>Choix de la map</LEGEND>
<form enctype="multipart/form-data" action="#" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
<input type="file" name="fic" />
<br>
<br>
<br>
<input type="submit" value="Envoyer" />
</form>
</FIELDSET>
<br>
<form method='post'>
<input type='button' value='Close' onclick='window.close()'>
</form>
</body>
</html>

Les valeurs php.ini
max_execution_time = 60
max_input_time = 60
post_max_size = 10M
upload_max_filesize = 10M
max_file_uploads = 20


Merci d'avance de m'avoir lu
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Il faut augmenter les valeurs de post_max_size, upload_max_filesize et éventuellement memory_limit : https://www.php.net/manual/fr/ini.core.php#ini.post-max-size

Bonne journée
0
phpdid Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour cette réponse, mais je me suis mal exprimé.
Je ne cherche pas a uploader un fichier de taille supérieur a 10 MO mais a récuperer le code erreur lorsque l'upload rencontre un problème. Mais c'est n'est pas le cas.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
0
phpdid Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
OUi je sais que c'est là https://www.php.net/manual/fr/features.file-upload.errors.php
Je me suis même appuyé dessus pour récuperer les code erreur mais c'est un probleme de code....Lorsque je dépasse les 10MO, la page devrait afficher " Erreur de transfert : " dans un premier temps (ensuite je mettrais les code erreurs......Mais ce n'est pas le cas.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phpdid Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Trouvé la reponse dans php.net

Dans le cas où la taille des données reçues par la méthode POST est plus grande que post_max_size, les superglobales $_POST et $_FILES seront vides.
0