[PHP] Aidez moi a finir un script d'upload par HTTP !!

Aidez moi a finir un script d'upload par HTTP !! [PHP] - Programmation

Marsh Posté le 28-01-2002 à 20:36:35    

Voila c un script que jai trouver ds un post du forum qui a ete fait par potiron.
mais ca merde et jen aurais grave besoin pour demain dun script tout fait. je connais pas grand chose en php et je c pas comment réparer/finir le truc.
voila le source, jespère vraiment ke qq1 prendra le tps de m'aider :)
 
 :hello:  
----------------
 
<html>  
<head>  
 
<!-- #BeginEditable "script" -->  
<SCRIPT LANGUAGE="JavaScript">  
<!--  
function nom(){  
document.formu.fichier.value=document.formu.file_name.value;  
}  
//-->  
</SCRIPT>  
 
<!-- #EndEditable -->  
</head>  
<body bgcolor="#0099CC">  
 
<table width="100%" border="3  
" height="100%" align="center" bordercolor="#FFFFFF">  
 <tr>  
   <td><!-- #BeginEditable "central" -->  
     <center>  
       <font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="4">Test  
       : Upload de fichier sur le serveur par HTTP </font>  
     </center><br><br><br><br>  
     <form method="post" action="upload.php" ENCTYPE="multipart/form-data" name="formu">  
       <center>  
         <font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="3"><u>Choississez  
         le fichier a envoyer :</u></font> <br>  
         <br>  
         <input type="file" name="file_name" enctype="multipart/form-data">  
         <br><br>  
         <br>  
         <INPUT TYPE="hidden" NAME="fichier">  
         <input type="submit" value="Envoyer" onClick="nom()">  
       </center>  
     </form>  
     <!-- #EndEditable --> </td>  
 </tr>  
</table>  
</body>  
<!-- #EndTemplate --></html>  
 
 
----------------
 
<html>  
<head>  
 
</head>  
<body bgcolor="#0099CC">  
 
<table width="100%" border="3  
" height="100%" align="center" bordercolor="#FFFFFF">  
 <tr>  
   <td><!-- #BeginEditable "central" -->  
     <center>  
       <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">  
         <?  
 $fon='<font face="arial" size="4" color="red">';$fon2='</font>';  
 $fona='<font face="arial" size="4" color="#00CC33">';$fona2='</font>';  
 $fonb='<font face="arial" size="4" color="000000">';$fonb2='</font>�
39;;  
   
 $temp=explode('\\',stripslashes($fichier)); <-- ligne 19
 $nom_fichier=$temp[count($temp)-1];  
 $t_serveur=@diskfreespace("/" )/1000000;  
 
 
if(@file_exists($nom_fichier)){  
  echo $fon.'le fichier '.$fon2.$fonb.$nom_fichier.$fonb2.$fon.' existe deja sur le serveur'.$fon2;  <-- ligne 25
  exit();  
}  
if (!$file_name){  
echo $fon.'Spécifier un fichier à envoyer'.$fon2;  
exit();  
}  
if(!(@diskfreespace("/" ))-filesize($fichier)>10000){  
  echo $fon."Il y a plus assez d'espace sur le serveur".$fon2;  
  exit();  
}  
if(copy($file_name , $temp[count($temp)-1])){  
echo $fona.'le transfert de '.$fona2.$fonb.$nom_fichier.$fonb2.$fona.' est reussi'.$fona2;  
}else{  
   echo $fon.'y a eu un probleme lors du transfert de '.$fon2.$fonb.$nom_fichier.$fonb2;  
}  
?>  
 
   
  </font>  
     </center>  
     <!-- #EndEditable --> </td>  
 </tr>  
</table>  
</body>  
<!-- #EndTemplate --></html>  
 
 
 
 
----------
 
 
les erreurs que j'ai sont :
 
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\program files\easyphp\www\vinz416\upload.php on line 19
 
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\program files\easyphp\www\vinz416\upload.php on line 19
 
Parse error: parse error in c:\program files\easyphp\www\vinz416\upload.php on line 25

 

[edtdd]--Message édité par Vinz416--[/edtdd]

Reply

Marsh Posté le 28-01-2002 à 20:36:35   

Reply

Marsh Posté le 28-01-2002 à 20:43:13    

précise les n° de lignes car sans chui un peu pomé  :D

Reply

Marsh Posté le 28-01-2002 à 21:00:19    

cf au dessus :)

Reply

Marsh Posté le 28-01-2002 à 21:45:22    

:bounce:  :(

Reply

Marsh Posté le 28-01-2002 à 22:50:42    

T'as un PB avec $fonb2 :
 
$fonb='<font face="arial" size="4" color="000000">';$fonb2='</font>�
39;;  
 
$temp=explode('\\',stripslashes($fichier)); <-- ligne 19
 
---------------------
Correction :
---------------------
$fonb='<font face="arial" size="4" color="000000">';
$fonb2='</font>';  
 
$temp=explode('\\',stripslashes($fichier)); <-- ligne 19
 
---------------------
le & #039;, c'est une '  :D  
Ta chaîne $fonb2 n'était pas fermée, donc il continuait jusqu'à :
$temp=explode(' <-
et c'est donc le \\ qu'il ne comprends pas -> les deux premier messages d'erreur.
 
Ensuite le message pour la ligne 25, c'est juste à cause de $fonb2
 
A+

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-01-2002 à 22:54:50    

ca a l'air mieu mais ya un autre bleme !!
 
Warning: Unable to open 'none' for reading: No such file or directory in c:\program files\easyphp\www\vinz416\upload.php on line 35
y a eu un probleme lors du transfert de american pie soundtracks - American Pie 2 14 Lucia I Will.mp3
 
qd jai valider et ke jarrive a la page upload.php c ca en resultat :(

Reply

Marsh Posté le 28-01-2002 à 22:57:48    

yes ca marche !!!!!! mais que avec les ptit fichiers :(
c koi comme valeur ki fo modifier pour pouvoir envoyer des gros fichiers ???????

Reply

Marsh Posté le 28-01-2002 à 22:59:42    

Vinz416 : je croyais que mon script t'interessait pas  :heink:  
 
le probleme est la :$fonb2='</font>'; -> d'ailleurs je comprends pas pourquoi j'ai ca d'afficher a la place d'un ' ...    
 
tu peux virer tous les $fon.. , et faire ca + propre, il servent juste a mettre en forme le texte a afficher .
 
autre chose, remplace :
temp=explode('\\',stripslas
 
hes($fichier));
$nom_fichier=$temp[count($temp)-1];  

par ca :
$nom_fichier=basename(stripslashes($fichier)); -> je connaissais pas la fonction basename a cet epoque, c'etait un de mes tout 1er script.
tu dois aussi remplacer les  
pareil, tu peux aussi virer : $temp[count($temp)-1] par $nom_fichier ensuite .
 
 
if(!(@diskfreespace("/" ))-filesize($fichier)>10000){  
 echo $fon."Il y a plus assez d'espace sur le serveur".$fon2;  
 exit();  
}  
-> c'est pas le genre de fonction que tu peux utiliser chez un hebergeur gratuit ...
 
--------
 
vire les lignes que j'ai indiqué, ca reglera le probleme sauf si l'hebergeur a bloqué partiellement copy.
quel limite ?

 

[edtdd]--Message édité par potiron--[/edtdd]

Reply

Marsh Posté le 28-01-2002 à 23:01:19    

ben si kil minteresse ton script en fait !!!!! jtai meme envoyer un private ;)

Reply

Marsh Posté le 28-01-2002 à 23:02:51    

Vinz416 a écrit a écrit :

ca a l'air mieu mais ya un autre bleme !!
 
Warning: Unable to open 'none' for reading: No such file or directory in c:\program files\easyphp\www\vinz416\upload.php on line 35
y a eu un probleme lors du transfert de american pie soundtracks - American Pie 2 14 Lucia I Will.mp3
 
qd jai valider et ke jarrive a la page upload.php c ca en resultat :(  




 
t'en fais pas t limité par ton hébergeur. en général c 2Mo maxi.
Si c sur ton serveur, regarde dans php.ini ou httpd.conf Upload Max Size

Reply

Marsh Posté le 28-01-2002 à 23:02:51   

Reply

Marsh Posté le 28-01-2002 à 23:04:02    

Dans ton formulaire, tu as çà :
<input type="file" name="file_name" enctype="multipart/form-data">  
<br><br>  
<br>  
<INPUT TYPE="hidden" NAME="fichier">  
 
Dans ton script, tu utilise la variable $fichier qui correspond donc au champ HIDDEN.
1- Ce champ ne sert à RIEN !
2- Dans ton script, c'est le champ TYPE="FILE" quy est important.
 
Modifie ton formulaire comme çà :
<input type="file" name="fichier" enctype="multipart/form-data">  
 
Et enlève le champ HIDDEN !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-01-2002 à 23:04:20    

oké je cherche ! ptain jsuis trop content la si ca marche pour un fichier de 50 mega :bounce:

Reply

Marsh Posté le 28-01-2002 à 23:06:51    

Heu, j'ai dis une connerie !
 
Laisse file_name !
 
Mais le champ HIDDEN, je vois pas à quoi il sert ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-01-2002 à 23:07:48    

ça marchera pas je te dis.

Reply

Marsh Posté le 28-01-2002 à 23:08:32    

yaisse c bon ca marche !!!!!!!!!!!!
putain jvous remercie tous les gars :D
 :jap:  :hello:

Reply

Marsh Posté le 28-01-2002 à 23:13:32    

euh ... jai mis la limite a 200M et ca marche pour des fichier de lordre de 5 meg ~
mais pour un fichier de 50 mega ca foiré :( jai une page Action annulé :cry:

Reply

Marsh Posté le 28-01-2002 à 23:27:40    

met la variable POST MAX SIZE à la veleur que tu veux

Reply

Marsh Posté le 29-01-2002 à 04:05:00    

Vinz416 a écrit a écrit :

ben si kil minteresse ton script en fait !!!!! jtai meme envoyer un private ;)  




 
un private ???
tu veux dire primate  :??:  :D

Reply

Marsh Posté le 30-01-2002 à 16:51:42    

Bon ben snif alors
 
j'ai essayer ce script et chez moi ca dis ca :  
 
Warning: Unable to create 'etaussi.jpg': Permission denied in /home6/altitud1/am13229/html/chat/upload.php3 on line 36
y a eu un probleme lors du transfert de image.jpg

 
pourtant je suis sur un hebergeur payant
a+

Reply

Marsh Posté le 30-01-2002 à 17:24:00    

ca vient du CHMOD -> modifie les autorisations du rep

Reply

Marsh Posté le 30-01-2002 à 18:24:18    

merci de ta reponse potiron !
mais je c pas comment faire pour le chmod,...
je c meme pas dans kel pays c vis cet animal la !!! lol
sorry chui debutant :(
a+

Reply

Marsh Posté le 30-01-2002 à 18:31:50    

vous prenez pas la tete jai trouver tt seul merci :)

Reply

Marsh Posté le 23-06-2002 à 14:44:54    

:hello:  
 
Moi aussi il m'interess ce script (heureusement il y a pas de copyright  :D )
mais g un pb .... qd je clic sur "envoyer", il m'ecrit sur la page :
 
10000){ echo "Il y a plus assez d'espace sur le serveur". exit(); } if(copy($file_name , $nom_fichier)){ echo 'le transfert de '.$nom_fichier.' est reussi'. }else{ echo 'y a eu un probleme lors du transfert de '.$nom_fichier. } ?>  
 
je sais pas pq .... une chaine mal terminée ?
 
 
qd je vire le test pour la place dispo :
 
if(!(@diskfreespace("/" ))-filesize($fichier)>10000){  
 echo "Il y a plus assez d'espace sur le serveur".
 exit();  
}  
ca a l'air de fonctionner : lapage est vide (c normal hein ? )
 
 
par contre le fichier a été envoyé ou  :??:  :??:  
 
oui je sais je sais je suis un newbie du php ......
 
 
alors si vous pouvez m'expliquer ce qu'il faut faire pour dire ou on stocke le fichier et pq je peut pas faire le test de place dispo ca serrait super cool !!
 :jap:


---------------
Ca marche pas sauf des fois ........
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed