Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2007, 13h46   #1
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Par défaut [Upload] Question sur <input type='file' />



J'aurais une petite question à vous poser concernant la balise HTML

<input type='file' />

Lorsque l'on poste son formulaire, cette balise upload automatiquement le fichier sur le serveur.

Le seul problème, c'est que j'utilise la class ftp de PHP pour uploader mes fichiers...

Je n'ai juste besoin que de la navigation de cette input (Parcourir...)

Pour qu'il ne garde en mémoire que le chemin absolu du fichier, et non qu'il me l'upload...

Comment puis-je faire pour adapter ceci?


Autre petit problème:

Quand j'upload un fichier de 30Mo avec ftp_put(), il se bloque au bout de 14Mo sans aucun message d'erreur...

Est-ce en rapport avec la config apache? Que faire?

(Le but est d'uploader via interface web des fichiers volumineux de maximum 100Mo)


Merci à vous.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 14h13   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le formulaire est rempli par le client et le code PHP exécuté par le serveur. Donc la connexion FTP sera établie depuis le serveur et en aucun cas depuis le client. Sommes-nous d'accord ? (à moins d'être en local ...)

Par ailleurs, j'ai lu dans d'autres posts que les champs de type file ne donnaient pas le chemin complet (dépend du navigateur ?), ce qui d'un côté n'est pas plus mal puisque le serveur n'a pas besoin de cette information. Toutefois, il me semble que si on supprime la partie enctype="multipart/form-data" de la balise form le fichier n'est plus envoyé ($_FILES) mais qu'on en récupère juste le nom ($_POST).

Enfin, quant au blocage vous avez probablement un message d'erreur qui peut être lié au temps maximum d'exécution du script. A vous de nous le dire
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 14h32   #3
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Effectivement si je supprime la balise enctype, juste le nom du fichier m'est retourné.

N'y a-t-il pas moyen de récupérer le chemin absolu de l'emplacement de ce fichier?

Par contre pour le timeout c'est trouvé:
Code :
1
2
 
 ftp_set_option ( $conn_id  ,  FTP_TIMEOUT_SEC , 3600  )
Par défaut le timeout était de 90 secondes. Il ne faut pas aller bidouiller dans apache, je peux donc laisser le timeout apache à 30sec.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 14h52   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Sayrus
N'y a-t-il pas moyen de récupérer le chemin absolu de l'emplacement de ce fichier?
Pas en simple HTML/PHP et mes compétences s'arrête là

Citation:
Envoyé par Sayrus
Par défaut le timeout était de 90 secondes. Il ne faut pas aller bidouiller dans apache, je peux donc laisser le timeout apache à 30sec.
Vous avez un message d'erreur ? Je pense toujours que c'est celui de PHP (max_execution_time) qui pose problème (Apache en possède également un de 5 minutes par défaut).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 14h56   #5
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Non justement je n'ai pas de message d'erreur, ce qui est étonnant car je suppose qu'un message d'erreur apparaitrait venant du max execute time de php ou de apache. Enfin je peux me tromper?
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 16h13   #6
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Et ben il y a du nouveau...

Je parviens à uploader mon fichier de 32Mo, où bout du transfert, l'erreur "MAX 30 sec execution time" apparait...

Donc je suppose que c'est dans apache que je dois modifier ça
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 17h26   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Sayrus
Donc je suppose que c'est dans apache que je dois modifier ça
La directive max_execution_time comme je l'ai indiqué tout à l'heure. Vous pouvez la modifier dans le fichier php.ini mais cette modification impactera tous les scripts. Il est possible de la modifier de manière ponctuelle avec la fonction ini_set. (si vous en avez le droit)

Note : cette directive peut éventuellement être outrepassée dans le fichier de configuration d'Apache via les directives php_admin_value et php_value ou éventuellement par htaccess (php_value).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 10h39   #8
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
J'ai utilisé la directive init_set()

Un grand merci.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h28.


 
 
 
 
Partenaires

Hébergement Web