à l'aide svp probleme d'upload

morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 27 mars 2004 à 12:39
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 20 sept. 2004 à 22:57
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
A voir également:

10 réponses

yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
27 mars 2004 à 14:29
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-)
0
XsatanaX Messages postés 122 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 5 mai 2004
28 mars 2004 à 10:01
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
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
29 mars 2004 à 20:34
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
0
XsatanaX Messages postés 122 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 5 mai 2004
30 mars 2004 à 02:40
Perso j'attend la suite,
car j'ai monté tel quel ton prog morgandetoi06
so what? no problem!!!
0

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

Posez votre question
yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
30 mars 2004 à 03:29
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-)
0
XsatanaX Messages postés 122 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 5 mai 2004
30 mars 2004 à 08:11
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"]);}
}
0
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
30 mars 2004 à 15:15
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
0
yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
30 mars 2004 à 16:57
ravi que ca marche enfin :)

++
Le meilleur langage de programmation est un étudiant diplomé.. 8-)
0
cs_Thorax Messages postés 1 Date d'inscription mardi 14 septembre 2004 Statut Membre Dernière intervention 20 septembre 2004
20 sept. 2004 à 21:59
Excellent code

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