à l'aide svp probleme d'upload

Signaler
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
-
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
-
svp aidez moi j ai deja posté ce message sur le forum mais n ayant pas eu de reponse je le reposte

bonjour,
voila sur mon site j ai fait une page où les visiteurs peuvent uploader une photo perso, et elle sera affichée sur cette meme page.
le principe: les photos sont uploadées dans un meme repertoire du ftp, et pour les afficher une fonction scanne tout ce repertoire et affiche tout ce qu il y a dedans.

mais le probleme vien de la fonction d upload:
voila 3 fois sur 4 pour des images assez importantes, ça plante et ça me met "erreur interne du serveur" ( sous free )
et ça me crée à la racine de mon ftp un fichier "php*****" qui est apparement l image non complete

donc voici les codes :

////vphoto.php3////

<html>

<center>

Ici vous pouvez uploader une photo de votre voiture ou autre...

Une photo par pseudo

Pas d'abus svp sinon la section sera enlevée

<FORM ACTION="scode.php3" METHOD="post" enctype="multipart/form-data">
Image:

Pseudo:

</form>

<?
echo '<H2>PHOTOS
';
if ($dir = @opendir("photos")) {
while($file = readdir($dir))
{
$TT = 'A';
$I = 0;
while ($TT != '.')
{
$TT = $file[$I];
$I ++;
}
$TT = $file[$I];
if ($TT == 'j')
{
print ("");
print ("
$file

");
}
}
closedir($dir);
}
?>

</html>

////scode.php3////

<?
// si le nom du fichier est vide
if ($fichier_name == "" || $pseudo=="")
{
echo "

<center>fichier ou pseudo vide ...</center>
";
}
else
{

// Vérifie si le fichier contient juste des lettres de A à Z en majuscule ou minuscule, des chiffres de 0 à 9, un "_", un "." ou un "-"
$masque = "^[_a-zA-Z0-9.-]+$";
if (!ereg($masque,$fichier_name))
{
echo "

<center>Nom de fichier invalide (il ne faut pas d espace, pas d accent, pas de caracteres speciaux)</center>
";
}
else
{
// Regarde si la fin du nom de fichier est gif ou jpeg
// A sauter si vous uploadez autre chose lol
if(!ereg(".jpeg$", $fichier_name) && !ereg(".jpg$", $fichier_name) && !ereg(".JPG$", $fichier_name) && !ereg(".JPEG$", $fichier_name))
{
echo "

<center>Format incorrect ... l'extension doit etre .jpg</center>
";
}
else
{
// regarde si le poid est compris entre 5 et 50 Ko
$poid = filesize($fichier)/1024;
if ($poid >= 800 || $poid <= 5 )
{
echo "

<center>Taille du fichier incorrect ...</center>
";
}
else
{

if (file_exists($fichier))
{
// ici on déplace le fichier ou on veut
if (copy($fichier,"photos/$pseudo".".jpg"))
{
echo "

<center>Fichier ".$fichier_name." ajoutée</center>
";
}
else
{
echo "

<center>Déplacement non éffectué ...</center>
";
}
}
else
{
echo "

<center>Erreur d'upload ...</center>
";
}
}
}

}
include("vphoto.html");
}
?>

voila merci de m aider
++

www.morgan06.fr.fm

10 réponses

Messages postés
236
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
18 juillet 2006
1
Au lieu d'utiliser copy() essai ce bout de code

if( is_uploaded_file($fichier) )
{
$dest = "photos/$pseudo".".jpg";
move_uploaded_file( $dest, $fichier );
}

Moi c'est ce que j'utilise pour mes upload..

Yafuka ( * _ * ) 8-)
Messages postés
122
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
5 mai 2004

Hi,
sup ton uploader, m'en va en reprendre des bouts,
perso je pense qu'en theorie il est nickel.
A longueur d'année tout le monde se plein de free
moralité aujourdhui t'achete un nom de domaine
et un hebergement pour 25 Euro, chez ovh par exemple
et terminé les souci du genre chez free zon pas la fonction
untel ou... vois mais la base c quand meme de travailler sur
des support correctes et pas amputé de certaine fonction ou avantages..

@+ l
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
ok merci yafuka par contre j ai un nouveau probleme:
l'upload se fait bien mon fichier n est pas enregistré dans le dossier photos sous la forme $pseudo.jpg , il reste à la racine sous la forme php7875 comment faire ?
merci de ton aide

www.morgan06.fr.fm
Messages postés
122
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
5 mai 2004

Perso j'attend la suite,
car j'ai monté tel quel ton prog morgandetoi06
so what? no problem!!!
Messages postés
236
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
18 juillet 2006
1
Oups, Désole je viens de me rendre comptequ'il y a un petit prob avec les parametres :-p

la vraie forme est move_uploaded_file ( string filename, string destination)

Donc remplace par
move_uploaded_file( $fichier, $dest );

ca devrait marcher la.

@+

Le meilleur langage de programmation est un étudiant diplomé.. 8-)
Messages postés
122
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
5 mai 2004

Mouai,
Perso, je te repete que le script de départ est nickel::
en voici 1 autre...@+

Importer une photo :

<form action="photo_upload.php" method="POST" enctype="multipart/form-data">
">

Fichier :, ,
----
Ecraser le fichier * :, ,
----

</form>

// Importe un fichier
if ($import == 1) {
if ($ecrase == 1) {
@unlink("../photo/".$HTTP_POST_FILES["userfile"]["name"]);
move_uploaded_file($userfile, "../photo/".$HTTP_POST_FILES["userfile"]["name"]);

}
elseif ($ecrase != 1) {
if (file_exists("../photo/".$HTTP_POST_FILES["userfile"]["name"])) {
$erreur = "Ce fichier existe déja sur le serveur ...";
$action = "envoief";}
else {
move_uploaded_file($userfile, "../photo/".$HTTP_POST_FILES["userfile"]["name"]);}
}
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
yafuka -> merci ça marche tres bien maintenant ;)

XsatanaX -> l'ancien code marchait tres bien pour des petits fichiers mais pour des fichiers d environ 300ko ça faisait provoquait une erreur interne de free. maintenant avec le code de yafuka j ai testé pour un fichier de 1.1Mo c passé comme une lettre à la poste :d

merci
++
www.morgan06.fr.fm
Messages postés
236
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
18 juillet 2006
1
ravi que ca marche enfin :)

++
Le meilleur langage de programmation est un étudiant diplomé.. 8-)
Messages postés
1
Date d'inscription
mardi 14 septembre 2004
Statut
Membre
Dernière intervention
20 septembre 2004

Excellent code

Petit détail cependant je crois que tu as oublié de laisser passser les .gif ... 8-)
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
c juste un choix pas un oubli
www.morgan06.fr.fm