Php upload

Fermé
labenjou - 22 mai 2008 à 20:13
ScroudaF Messages postés 121 Date d'inscription samedi 8 juillet 2006 Statut Membre Dernière intervention 11 octobre 2011 - 23 mai 2008 à 19:06
Bonjour,
voila j'ai une question concernant les script d'upload en php.
En fait pour un projet scolaire je fais un site de vente aux encheres, donc j'aimerai associer a mes objets des photos.
J'ai compris les differents scripts d'upload que j'ai pu lire seulement le mien ne fonctionne pas.
Ce lors de l'utilisation de la fonction "move_uploaded_file".
Je me demandais si le repertoire de destination etait un repertoire precis ou bien si je pouvais mettre n'importe quel repertoire que j'aurai cree au prealable.

Merci.

3 réponses

ScroudaF Messages postés 121 Date d'inscription samedi 8 juillet 2006 Statut Membre Dernière intervention 11 octobre 2011 11
22 mai 2008 à 20:18
Donc,
move_uploaded_file($source,$cible)
$source = le dossier temporaire
$cible = ce que tu veux, sur le serveur.

Il y a quelque chose qui ne fonctionne pas? n'oublie pas l'enctype dans la balise <form ...>

On peut avoir ton script? :)
0
Voici le code de mon formulaire:

<?php
session_start();
?>

<form method="post" action="../traitement/traiternouvellevente.php" enctype="multipart/form-data">

<p>Titre de la vente :<br /> <input type="text" name="nom" /></p>

<p>Categorie : <br />
<select name="categorie">
<option value="art et culture">Art et Culture</option>
<option value="automobiles">Automobiles</option>
<option value="beaute">Beaute</option>
<option value="bijoux">Bijoux</option>
<option value="image et son">Image et Son</option>
<option value="immobilier">Immobilier</option>
<option value="informatique">Informatique</option>
<option value="jouet">Jouets</option>
<option value="jeux video">Jeux video</option>
<option value="immobilier">Immobilier</option>
<option value="livres">Livres</option>
<option value="technologie">Technologie</option>
<option value="vetements">Vetements</option>
<option value="autre">Autre</option>
</select></p>

<p>Prix de depart :<br /> <input type="text" name="prixdpt" /></p>
<p>Prix immediat :<br /> <input type="text" name="prixim" /></p>
<p>Frais de livraison :<br /> <input type="text" name="prixlivraison" /></p>
<p>Delais de livraison :<br /> <input type="text" name="delaislivraison" /></p>
<p>description :<br /><textarea name="description" cols="50" rows="5" /></textarea></p>

<p>Etat :<br />
<select name="etat">
<option value="neuf">Neuf</option>
<option value="bon Etat">bon etat</option>
<option value="occasion">occasion</option>
<option value="deteriore">Deteriore</option>
</select></p>

<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<p>Photo :<br> <input name="avatar" type="file"></p>

<input type="submit" value="Envoyer" />
<input type="reset" value="Reinitialiser" />

</form>


Et voici le code ou je traite mon formulaire:

<?php
session_start();
extract($_POST);
mysql_connect("localhost","root","");
mysql_select_db("projet");

$pseudovendeur=$_SESSION['login'];

$dossier = 'http://127.0.0.1/projet/images/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)){
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi){
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)){
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
echo 'Upload effectué avec succès !';

if(!move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
echo 'Echec de l\'upload !';

else
echo $erreur;



$query="insert into objet values('','$nom','$description','$etat','$prixdpt','$prixim','$prixlivraison','$delaislivraison','$fichier','$pseudovendeur');";
mysql_query($query) or die("marche po");

$numobjet=mysql_insert_id();

$query="insert into categorie values('
','$categorie','$numobjet');";
mysql_query($query) or die("marche po");

echo "Il y a ".$numobjet."jeux vidéos en vente !";

$_SESSION['newvente']=1;

echo '<img src="'.$fichier.'">';

// header("location:http://127.0.0.1/projet/vendre/mes ventes.php");

?>


Desolé ca fait long : $
0
ScroudaF Messages postés 121 Date d'inscription samedi 8 juillet 2006 Statut Membre Dernière intervention 11 octobre 2011 11
22 mai 2008 à 20:27
C'est l'addresse du dossier qui ne va pas :
$dossier = 'http://127.0.0.1/projet/images/';

Cette addresse doit faire référence à l'endroit d'où est exécuté le traitement du formulaire.

Par exemple, si le traitement du formulaire se fait dans le fichier http://127.0.0.1/projet/images/traitement.php
alors ton script va copier dans http://127.0.0.1/projet/images/http://127.0.0.1/projet/images/

En bref :
$dossier = '.';
0
euhhh oui l'upload fontionne mais je sais pas ou est mon image je la vois nulle part donc je peux pas l'afficher...pourtant ca devrait etre dans le dossier ou j'effectue mon traitement non?
0
labenjou > labenjou
22 mai 2008 à 20:58
ca y est ca marche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
merci merci merci!!!!!
bien bonne soiree a tous!!!!!!!!!!!! :)
0
oups j'ai parlé trop vite...
c'est etrange mais ca ne marche pa a tous les coups, quelqu'un a une explication??
0
ScroudaF Messages postés 121 Date d'inscription samedi 8 juillet 2006 Statut Membre Dernière intervention 11 octobre 2011 11
23 mai 2008 à 19:06
Reposte ta source please, si ça ne fonctionne toujours pas ...
Et au fait, qu'est-ce qui ne fonctionne pas? à quel moment?
0