A voir également:
- Problème avec un upload d'image
- Image iso - Guide
- Youtube upload - Télécharger - Diffusion
- Acronis true image - Télécharger - Sauvegarde
- Image iso windows 10 - Guide
- Légender une image - Guide
5 réponses
Que retournes $fic lorsque tu fais echo $fic?
Quel est la structure dans la base de données du champ fichier ?
Quel est la structure dans la base de données du champ fichier ?
ce qui veut dire que ton upload est un échec ?
voici un script qui fonctionne, j'ai ajouté le formulaire tu peux tester avec ce bout de script
voici un script qui fonctionne, j'ai ajouté le formulaire tu peux tester avec ce bout de script
<?php
/*
http://php.net/manual/fr/features.file-upload.post-method.php
<!-- Le type d'encodage des données, enctype, DOIT être spécifié comme ce qui suit -->
<form enctype="multipart/form-data" action="_URL_" method="post">
<!-- MAX_FILE_SIZE doit précéder le champ input de type file -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- Le nom de l'élément input détermine le nom dans le tableau $_FILES -->
Envoyez ce fichier :
<input name="userfile" type="file" />
<input type="submit" value="Envoyer le fichier" />
</form>
*/
if ( !isset($_POST['envoi']) || empty($_POST['envoi']) ) {
echo '
<form enctype="multipart/form-data" action="#" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
Envoyez ce fichier :
<input name="file_img" type="file" />
<input name="envoi" type="submit" value="Envoyer le fichier" />
</form>';
}else{
echo "contenu de '$ _ POST' <br />";
echo "<pre>";
print_r($_POST);
echo "</pre>";
echo "<br />";
echo "contenu de '$ _ FILES' <br />";
echo "<pre>";
print_r($_FILES);
echo "</pre>";
$tmp_name = $_FILES["file_img"]["tmp_name"];
$name = $_FILES["file_img"]["name"];
//$resultat= move_uploaded_file($tmp_name, "/upload/$name");
echo "vérification variable: <br />";
echo $tmp_name."<br />";
echo $name."<br />";
//chemin relatif au script
if(move_uploaded_file($tmp_name, "./upload/$name")) {
echo "upload ok <br /><br />";
$fic = "./upload/" .$name;
echo $fic."<br /><br />";
//$sql = "INSERT INTO photos VALUES ('".$_GET['id']."', '".$fic."', '".$_GET['n_offre']."')";
//$result = mysql_query($sql) or die('Erreur : '.mysql_error());
if($result) {
echo "insertion bdd ok";
} else {
echo "insertion bdd échec";
}
}else{
echo "upload échec ! <br />";
}
}
?>
Merci pour ta réponse, j'ai essayé ton bout de code mais j'ai toujours le même soucis l'url du fichier n'est pas envoyé en bdd mais le reste oui pourtant si il insére une ligne en bdd c'est que la condition :
if(move_uploaded_file($tmp_name, "upload/$name"))
est passé non ?
if(move_uploaded_file($tmp_name, "upload/$name"))
est passé non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Après quelques nouveaux essais ça fonctionne "presque" le fichier se met bien en base, il s'upload mais pas entièrement en faite le fichier qui faisait 92ko avant en fait que 4ko et ne peut s'ouvrir .. Quel serait le problème ?
merci d'avance
merci d'avance
Le problème ici c'est qu'on a pas de détail sur ton environnement. Sur ce que tu fais en plus ou pas ?!
J'avais testé le bout de script plus haut en local et sur un serveur distant avec des fichiers images.
J'ai aussi créé un répertoire upload à la racine du script avec des droits 777 (pour test et pour être sûr que tout fonctionne). = zéro problème !
Mets toi dans les mêmes conditions. Créé un nouveau fichier: test.php, créé un répertoire, mets les droits 777 sur le répertoire, copie le code au dessus n'ajoute rien et vérifies à nouveau;
J'avais testé le bout de script plus haut en local et sur un serveur distant avec des fichiers images.
J'ai aussi créé un répertoire upload à la racine du script avec des droits 777 (pour test et pour être sûr que tout fonctionne). = zéro problème !
Mets toi dans les mêmes conditions. Créé un nouveau fichier: test.php, créé un répertoire, mets les droits 777 sur le répertoire, copie le code au dessus n'ajoute rien et vérifies à nouveau;