Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1411 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  UPLOAD de fichier fonction ftp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

UPLOAD de fichier fonction ftp

n°1062505
micfont999
Simplement Moi
Posté le 27-04-2005 à 11:39:48  profilanswer
 

Salut à tous, phpman et woman, voila je deviens completement dingue  :pt1cable:  :pt1cable: J'ai un upload de fichiers qui marche impek sur mon site, pour les fichiers inférieurs à 1,5Mo on va dire, et si le fichier est supérieur, au bout d'un certain temps l'upload echou. Le problème est que je n'ai pas accès au max_execution_time  et au php.ini (ce qui pose un chti pb pour modifier les valeurs par défaut, de plus j'ai entendu dire qu'il ne faut pas modifier le post_max_size sous peine d'avoir quelques soucis.  
Hors j'aimerais (et d'ailleur ce n'est pas que j'aimerais c'est qu'il le faut lol) que mes clients puissent uploader des fichiers inférieurs ou egaux à 50Mo... (rassurez vous j'ai modifier dans le formulaire le max_size_uploaded à la bonne valeur)
J'ai recherché sur de nombreux forums (dont celui ci) mais sans résultat (pas du moins ce que je recherche) mais je me vois dand l'obligation de poster un message pour que vous m'aidiez.
Je recherche donc déjà le moyen de modifier par code php les parametres du code php.ini et une fonction ftp en php qui permettrais à mes clients d'uploader des fichiers volumineux... (inférieur à 50Mo) j'ai remarqué que des gens y étaient arrivés mais ils n'expliques pas comment..
en espérant que vous pourrez m'aider, je n'ai pas de code d'upload à vous proposer (à par celui qui marche). Je ne souhait pas avoir de barre de défilement (même si ça rajouterais un peu plus de tuning au site  :whistle: ) mais je souhait déjà que ça marche , c'est le principal.. Dans l'attente d'une réponse qui j'espère m'aidera je vous souhaite une agréable journée, Merci à vous d'avoir lu ce roman  :jap:  :lol:  

mood
Publicité
Posté le 27-04-2005 à 11:39:48  profilanswer
 

n°1062509
cesarr89
Posté le 27-04-2005 à 11:42:32  profilanswer
 

Pourquoi tu peut pas modifier directement le php.ini?
Pour tu mets pas ton code, ca peut aider.

n°1062513
micfont999
Simplement Moi
Posté le 27-04-2005 à 11:46:17  profilanswer
 

je peut pas modifier directement le php.ini car je n'ai pas accès à ce fichier :D j'ai les coordonnées du compte ftp mais je n'ai pas accès au fichier :( et pour les bouts de codes je n'en ai pas à proposer, (à par ceux qui marche mais c'est u nmove_uploaded_files ce tout ce qu'il y à de plus simple ;)) voila, et je vois pas comment utiliser les ftp_fput et autres, c'est ça le pb... Une solution?

n°1062516
cesarr89
Posté le 27-04-2005 à 11:49:27  profilanswer
 

Euh juste comme ca, t'a combien d'espace sur ton FTP?
Je peut pas trop t'aider là.

n°1062524
micfont999
Simplement Moi
Posté le 27-04-2005 à 11:53:47  profilanswer
 

oula beaucoup d'espace, ce n'est pas ça le problème...
voila le code pour l'upload actuel si tu ve...

Code :
  1. //------------------------
  2. //--- upload des fichiers|
  3. //------------------------
  4.     $repertoireDestination = "../../files/$nom/";
  5.     $nomorigine = $_FILES["monfichier"]["name"];
  6.     $nomDestination = $_FILES["monfichier"]["name"];
  7.     // Pour raison de sécurité nous ajouterons aux fichiers
  8.     // portant une extension .php .php3, l'extension .txt
  9.     $php = ".php";
  10.     $repl = ".txt";
  11.     $nomDestination = str_replace($php, $repl,$nomDestination);
  12.     if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
  13.         if (@rename($_FILES["monfichier"]["tmp_name"],
  14.                    $repertoireDestination.$nomDestination)) {
  15.             echo "<br>Le fichier à bien été inséré dans le répertoire ".$repertoireDestination.$nomDestination;
  16.         } else {
  17.             echo "<br>Le déplacement du fichier temporaire a échoué <br>".
  18.                  " vérifiez l'existence du répertoire ".$repertoireDestination. " ou bien si le fichier n'est pas déjà présent dans ce répertoire <br>";
  19.        }         
  20.     } else {
  21.        echo "<br>ECHEC ... Le fichier n'a pas été uploadé <br>
  22. Attention le fichier .exe ne peut être uploader par mesure de sécurité";
  23.     exit;
  24. }


 
ça ça marche nikel, mais IE me plante tout lorsque j'ai un gros fichier, c'est pour ça que je souhaite changer avec du code si c'est possible les configs du php.ini juste pour l'execution de ce script et passer par la voie ftp_fput ou ftp du moin pour le plus etre ennuyé (mais je beug) si tu à une solution pour permettre l'upload de très gros fichiers en gros c'est ce que je demande :)

n°1062526
esox_ch
Posté le 27-04-2005 à 11:56:15  profilanswer
 

micfont999 a écrit :

je peut pas modifier directement le php.ini car je n'ai pas accès à ce fichier :D j'ai les coordonnées du compte ftp mais je n'ai pas accès au fichier :( et pour les bouts de codes je n'en ai pas à proposer, (à par ceux qui marche mais c'est u nmove_uploaded_files ce tout ce qu'il y à de plus simple ;)) voila, et je vois pas comment utiliser les ftp_fput et autres, c'est ça le pb... Une solution?


 
Les fonctions ftp servent pas à ça. A part ça si le serveur a un max time c'est qu'il y a une raison. P-e que les personnes qui y sont arrivées uploadaient depuis une tres grosse connection ... Mais je vois pas trop ce que tu pourrais faire


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1062529
micfont999
Simplement Moi
Posté le 27-04-2005 à 11:59:16  profilanswer
 

?? on peut rien faire?? ça veut dire que je peux pas permettre à mes clients d'uploader de gros fichier? ça va poser problème sachant que l'interface que je prépare sert normalement à résoudre ce pb, alors si on peut pas, il va po etre content, o la la ... mdr, il n'y à vraiment pas de solution?

n°1062543
esox_ch
Posté le 27-04-2005 à 12:07:36  profilanswer
 

Heu question conne, le serveur tourne bien en safe mode ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1062721
micfont999
Simplement Moi
Posté le 27-04-2005 à 14:07:13  profilanswer
 

voila les valeur que j'obtien avec un phpinfo
safe_mode
 Off Off  
safe_mode_exec_dir
 no value no value  
safe_mode_gid
 Off Off  
safe_mode_include_dir
 no value no value  
 
donc je pense si je suis pas trop mauvais en anglais que la réponse est non... snif, ça sent mauvais cette histoire je sent que je suis pas couché moi... HELP please

n°1062773
esox_ch
Posté le 27-04-2005 à 14:30:25  profilanswer
 

Tu y vas tout seul ou je te lance avec mon lance boulay jusqu'a la doc PHP? Genre ini_set & co ? :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 27-04-2005 à 14:30:25  profilanswer
 

n°1062834
micfont999
Simplement Moi
Posté le 27-04-2005 à 15:05:45  profilanswer
 

Tu peut m'expliquer par exemple la synthaxe avec ini_set pour modifier le temps des requetes max_execution_time please :)

n°1062838
esox_ch
Posté le 27-04-2005 à 15:08:38  profilanswer
 

Juste un truc pour etre sur, tu es sur a 100% que c'est ton script qui plante et non pas le transfere?  
Parceque lors d'un Upload, le script php s'execute apres la fin du upload du fichier... et donc si c'est le temps d'upload qui depasse... bein le ini_set max_execution_time il va servir a rien ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1062847
micfont999
Simplement Moi
Posté le 27-04-2005 à 15:13:41  profilanswer
 

Bin je sais pas moi ce qui plante, je sais juste qu'un fichier de 2Mo passera, mais un fichier de 4Mo ne passera pas. Après je ne sais pas à quoi c'est du, comment puis je le savoir.. Si ça marche avec l'un ça devrai marcher avec l'autre vu que j'ai mi le max_size au niveau du formulaire à 50Mo... et tout type de fichier passe, précision (sauf les .exeet je renomme les .php) mais c'est tout...

n°1062850
micfont999
Simplement Moi
Posté le 27-04-2005 à 15:14:36  profilanswer
 

sinon j'ai mi cela, mais je sais pas si c'est la bonne synthaxe

Code :
  1. ini_set(max_execution_time,0);

n°1062882
micfont999
Simplement Moi
Posté le 27-04-2005 à 15:33:21  profilanswer
 

Alors je viens d'utiliser en début de code  

Code :
  1. ini_set(max_execution_time,"0" );
  2. ini_set(post_max_size,"50M" );


 
et en fait il mouline il mouline et à la fin il me met  
 
ECHEC ... Le fichier n'a pas été uploadé  
Attention le fichier .exe ne peut être uploader par mesure de sécurité
 
la phrase qui correspond à l'erreur d'upload de mes fichiers (cf. le code au dessus)  
 
Voila mon code final :  

Code :
  1. session_start();
  2. include('../../connexion/_connexion.php');
  3. $cx=mysql_connect("$host","$user","$pass" );
  4. $base=mysql_select_db("$bdd" );
  5. ini_set(max_execution_time,"0" );
  6. ini_set(post_max_size,"50M" );
  7. // import du nom de la société en POST
  8. $nom = addslashes($_POST['nom']);
  9. // creation de la date format bdd et français
  10. $date = date("Y-m-d" );
  11. $date02 = date("d-m-Y" );
  12. //---------------------------------------------------------------------------------------------
  13. //---verification de toutes les données pour voir si tous les champs sont correctement remplis|
  14. //---------------------------------------------------------------------------------------------
  15. // si le nom n'est pas remplis
  16. if($nom=="" ){
  17.     $erreur01="veuillez rentrer le nom de la société concernée svp !!";
  18.     echo"$erreur01<br>";
  19.     exit;
  20. }
  21. //------------------------
  22. //--- upload des fichiers|
  23. //------------------------
  24. // upload du fichier avec comme nom societe - date - nom fichier
  25.     $repertoireDestination = "../../files/$nom/";
  26.     $nomorigine = $_FILES["monfichier"]["name"];
  27.     $nomDestination = $_FILES["monfichier"]["name"];
  28.     // si l'on souhaite insérer dans le nom du fichier le nom de la société et la date
  29.     // $nomDestination        = $nom." - ".$date02." - ".$_FILES["monfichier"]["name"];
  30.     // Pour raison de sécurité nous ajouterons aux fichiers
  31.     // portant une extension .php .php3, l'extension .txt
  32.     $php = ".php";
  33.     $repl = ".txt";
  34.     $nomDestination = str_replace($php, $repl, $nomDestination);
  35.     if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
  36.         if (@rename($_FILES["monfichier"]["tmp_name"],
  37.                    $repertoireDestination.$nomDestination)) {
  38.             echo "<br>Le fichier à bien été inséré dans le répertoire ".$repertoireDestination.$nomDestination;
  39.         } else {
  40.             echo "<br>Le déplacement du fichier temporaire a échoué <br>".
  41.                  " vérifiez l'existence du répertoire ".$repertoireDestination. " ou bien si le fichier n'est pas déjà présent dans ce répertoire <br>";
  42.        }         
  43.     } else {
  44.        echo "<br>ECHEC ... Le fichier n'a pas été uploadé <br>
  45. Attention le fichier .exe ne peut être uploader par mesure de sécurité";
  46.     exit;
  47. }


 
Donc il m'affiche la dernière phrase d'erreur, et les fichiers inférieurs à environ 2Mo sont bien uploadés...

n°1062925
micfont999
Simplement Moi
Posté le 27-04-2005 à 15:54:01  profilanswer
 

personne d'autre n'a la solution, je vien de faire des test, 2Mo ça passe, au dessus ça ne passe plus...:( au moins on est fixé sur la taille... j'ai rajouté un

Code :
  1. ini_set(upload_max_filesize,"50M" );

au cas ou, mais ça ne marche toujours pas, HELP HELP...

n°1062956
KangOl
Profil : pointeur
Posté le 27-04-2005 à 16:10:30  profilanswer
 

ton formulaire est bien en post ??


---------------
Nos estans firs di nosse pitite patreye...
n°1063019
micfont999
Simplement Moi
Posté le 27-04-2005 à 16:42:48  profilanswer
 

wi :D

n°1063075
jeff@be
Posté le 27-04-2005 à 17:15:13  profilanswer
 

Hello
 
la configuration "post_max_size" ne peut pas être modifiée par la fonction ini_set().
La seule solution est de modifier le php.ini, ou de modifier sa valeur dans la config du virtual host de Apache ou un fichier .htaccess avec la ligne "php_value post_max_size 50M"

n°1063095
micfont999
Simplement Moi
Posté le 27-04-2005 à 17:23:38  profilanswer
 

hurss oki, mais pourquoi alors qu'elle est par défaut à 8Mo je n'arrive pas à uploader des fichiers de 3 - 4 Mo?? Snif, c quoi ce bin's?

n°1063105
jeff@be
Posté le 27-04-2005 à 17:27:30  profilanswer
 

es-tu certain qu'elle soit à 8M?
Pour t'en assurer: php_info() ou ini_get('post_max_size')

n°1063117
micfont999
Simplement Moi
Posté le 27-04-2005 à 17:34:48  profilanswer
 

wi wi j'ai looker, et il me met bien 8M
c louche ce truc :D

n°1063119
cesarr89
Posté le 27-04-2005 à 17:36:24  profilanswer
 

Lol question con...très très con...il reste de la place au moins ?

n°1063121
cesarr89
Posté le 27-04-2005 à 17:36:41  profilanswer
 

Bah on sais jamais.....il ne faut écarter aucune hypothèse

n°1063126
jeff@be
Posté le 27-04-2005 à 17:39:17  profilanswer
 

et la configuration "upload_max_filesize", l'as-tu vérifiée?

n°1063158
micfont999
Simplement Moi
Posté le 27-04-2005 à 17:57:26  profilanswer
 

voui voui j'ai tout verifier, il reste tout plein de places (le ftp est tout vide :) )

n°1063189
cesarr89
Posté le 27-04-2005 à 18:12:07  profilanswer
 

bah alors je suis dsl, mais je vois pas du tout d'où cela peut venir......

n°1063803
micfont999
Simplement Moi
Posté le 28-04-2005 à 09:07:47  profilanswer
 

wi moi non plus nan mais ce n'est pas grave, on à expliqué à nos clients que le principe de http n'était pas prévus pour le transfert de gros fichiers, et qu'il sera plus simple de ce faire parvenir les fichiers de taille importante par la poste sur cd...
Alors bon voila, mais je trouverais un jour le moyen (quand j'aurais le temps) de régler ça car ça peut etre vraiment bien..
en tout cas merci de vous etre penchés sur le phénomène mystérieux et paranormal d'un upload de plus de 2Mo mdr :D :D Merci encore à vous...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  UPLOAD de fichier fonction ftp

 

Sujets relatifs
récupérer une chaines de caractère d'un fichier texteFonction call?
[Flash] problème avec la fonction hitTest (problème illustré)fonction pour afficher tous les éléments d'une méthode POST.
petit probleme d'ecriture dans un fichierUpload en ASP Jscript
Comment zipper un fichier à partir de la fonction ShellProblème : Fonction Copy PHP
[PERL] lire fichier en paragraphe 
Plus de sujets relatifs à : UPLOAD de fichier fonction ftp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR