bug dans mon script d'ajout de telechargement

Petit nouveau ! | 8 Messages

19 août 2005, 14:19

Salut

J'ai un bug dans mon script de telechargement :

* Lien dead *


Le bug est :

Il faut uploader 2x un fichier pour qu'il soit présent sur le serveur !

Merci d'avance pour votre aide :)

Bye :]
Modifié en dernier par Michas le 20 août 2005, 23:33, modifié 1 fois.

Eléphanteau du PHP | 26 Messages

19 août 2005, 15:38

esce que t'es chez free?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 août 2005, 15:46

Bonjour,

Avec une description du problème ça pourrait vachement aider, parce que "j'ai un bug", c'est pas particulièrement explicite :D
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 8 Messages

19 août 2005, 16:09

Salut

1) Pour le momment je test chez moi (avec wamp) et je serait pas sur free
2)
Le bug est :

Il faut uploader 2x un fichier pour qu'il soit présent sur le serveur !
:wink:

++

Petit nouveau ! | 8 Messages

20 août 2005, 23:15

Up

Mammouth du PHP | 19672 Messages

20 août 2005, 23:20

Up
Modération : tu as lu ce que t'a mis @rthur :?:
Tu nous as mis deux adresses qui débouchent toutes les deux sur une erreur 404 . Tu te figures peut-être qu'on va deviner ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

20 août 2005, 23:31

Desoler Cyrano et @rthur

Je pensait que @rthur demandais ce que fesait le bug, j'ai pas vus que le serveur qui heberge les pages à des erreurs

Voicis le code :
<?php
  
   elseif(empty($_POST['lien_telecharger']) ) // si lon utilise l'upload pour telecharger
   {
$f1_size = $_FILES['upload_telecharger']['size'];
$f1_name = $_FILES['upload_telecharger']['name'];
$f1_tmpname = $_FILES['upload_telecharger']['tmp_name'];

   $ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
//Création du tableau des extensions acceptées
$valides = array("exe","zip","rar");
if (!in_array($ext,$valides))
{
echo 'Type de fichier invalide pour le telechargement <br />' ;
$info ='bug';
}


elseif( $f1_size > 2050000)
{
echo 'Le poid du telechargement est suprieur a 2 mo !<br />';
$info ='bug';
}

else
{
echo '2';
move_uploaded_file($f1_tmpname,$f1_name) or die("error");
$info ='';
}

    }
   
?>
Edit1-2 : Désoler j'avais oublier de couper le code

Edit 3 : Je n'ai aucune erreur l'ors du premier upload et l'ors du deuxieme, tous se passe normalement aussi, vous voullez que je mette en ligne le code ?

++
Modifié en dernier par Michas le 20 août 2005, 23:44, modifié 3 fois.

Petit nouveau ! | 5 Messages

20 août 2005, 23:31

C'est vrai que c'est pas clair ce que tu veux... :shock:
Enfait tu n'arrives pas à uploader tes fichiers sur ton serveur c'est ca?
Pour tester tes fichiers php peut etre devrais tu utiliser easy php 1.7 ...
Bon explicite nous un peu tout ca parce que si tu n'es pas plus clair personne ne pourra t'aider. :wink:

Mammouth du PHP | 19672 Messages

20 août 2005, 23:40

Et tu penses qu'on va analyser 300 lignes de code en plus, je rêve :shock:

Si tu nous disais en détail ce qui se passe lors du premier envoie: as-tu des messages d'erreur ou non ? Quand tu fais le second, comment procèdes-tu ?

Il faut que tu isoles le problème en éliminant les parties qui fonctionnent bien jusqu'à cerner de plus en plus serré le point qui ne fonctionne pas correctement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1885 Messages

21 août 2005, 00:08

Bonjour,

Je te conseille fortement d'utiliser la variable superglobale $_FILES pour tes opérations d'upload:
http://www.php.net/manual/fr/reserved.v ... bles.files
http://www.php.net/manual/fr/features.file-upload.php

;)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Mammouth du PHP | 19672 Messages

21 août 2005, 09:56

CRées des alternatives pour afficher des emssages :
if(move_uploaded_file(....))
{
    echo("transfer du ficher correctement effectué");
}
else
{
    echo("Le transfert du fichier a échoué");
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

21 août 2005, 10:39

Salut

PHP, c'est ce que je fais j'utilise $_FILE ;)


Cyrano, $info, sert à savoir si le transfert à réussis ou pas. Si $info == '' le transfert à réussis

Sinon le transfert à rater ;)

++

Mammouth du PHP | 19672 Messages

21 août 2005, 11:12

Possible, mais dans cette partie de code :
else
{
echo '2';
move_uploaded_file($f1_tmpname,$f1_name) or die("error");
$info ='';
} 
Tu ne testes rien du tout et $info te retourne dans tous les cas une chaîne vide. Remplace par l'alternative pour initialiser une valeur à $info.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1885 Messages

21 août 2005, 20:09

Bonjour,
Salut
PHP, c'est ce que je fais j'utilise $_FILE ;)
Désolé, j'avais vu une variable ressemblant à l'ancienne méthode de récupération des variables.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Petit nouveau ! | 8 Messages

23 août 2005, 19:14

Salut

Cyrano, je comprend pas ce que tu dis par "Remplace par l'alternative pour initialiser une valeur à $info."

PHP > Ok ;)


++