bonjour,
j'essaie de faire une petite page pour uploader des fichiers lourds via ftp.
Voici le code
dans la page en question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 // test de connextion par ftp $connect_ok=false; $conn_id = ftp_connect(FTP_SERVER); $login_result = ftp_login($conn_id, FTP_USER, FTP_PASSWD); // check connection if ((!$conn_id) || (!$login_result)) { $messages[]="Impossible de se connecter au serveur ".FTP_SERVER; } else { $messages[]="Connecté à ".FTP_SERVER." : Vous pouvez envoyer des fichiers par FTP"; $connect_ok=true; } //on envoi le fichier s'il y en a un if ($_POST['envoi_fichier']) { ftp_chdir($conn_id, PREFIXE.FTPFILE_DIR); $destination_file=$_FILES['le_fichier']['name']; // upload the file $upload = ftp_put($conn_id, $destination_file, $le_fichier, FTP_BINARY); // check upload status if (!$upload) { $messages[]="L'envoi du fichier a échoué. Veuillez recommencer"; } else { $messages[]="L'envoi du fichier a été réalisée avec succès.<br>Informations sur le fichier (".$_FILES['le_fichier']['name']."-".$_FILES['le_fichier']['size']." octets)"; } } ftp_close($conn_id);
ça marche pour des fichiers inférieurs à 2mo environ mais au dela, pas de messages d'erreurs mais soit le fichier est uploadé qu'en partie (c'est-à-dire que si on ouvre un pdf, on a un message d'acrobat comme quoi le fichier est corrompu) ou pas du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <form name="formulaire" method="post" action="{$script}?id_menu={$id_menu}§ion=ftp&page=accueil" enctype="multipart/form-data"> <input name="envoi_fichier" type="hidden" value="ok"> <input type="hidden" name="MAX_FILE_SIZE" value="20000000" /> <input type="hidden" name="action" value="enregistrer" /> <table id="tableau"> <caption> <tfoot id="bouton"> <td> <a href="{$script}?id_menu={$id_menu}§ion=documents&page=liste" class="btnnormal"> Retour </a> <a id="atest" href="javascript:document.formulaire.submit();" class="btnnormal"> Envoyer le fichier par FTP </a> </td> </tfoot> <tbody> <tr class="{cycle values="l_sombre,"}"> <td> <label for="le_fichier">Fichier à envoyer :</label> <input type="file" name="le_fichier" /> </td> </tr> </tbody> </table> </form>
Dans le php_info, j'ai un POST_MAX_SIZE à 8M. D'ailleurs,est-ce que cela joue étant donné que je passe par le ftp ?
J'ai essayé avec d'autres scripts PHP trouvé sur le net et c'est le même souci.
Auriez-vous une idée ?
par avance merci.
Partager