2010-07-14 3 views
0

J'ai un formulaire qui contient un bouton de navigation de fichier html (<input type=file />). L'utilisateur sélectionne un fichier en cliquant sur le bouton Parcourir et envoie le formulaire. Lors de la soumission du formulaire, un nouveau script php (submitToServer.php) est appelé qui utilise ce fichier pour le télécharger sur le serveur.

Maintenant, je veux télécharger ce fichier sans utiliser le bouton de navigation, car le nom de fichier et le chemin d'accès sont toujours les mêmes lorsque nous téléchargeons. Comment puis-je faire ceci?

actuellement fichier descripteur de fichier submitToServer.php en utilisant le bouton de navigation comme ceci:

$errorCode = $_FILES['claimsfile']['error']; 
$claimsFileLocation = $_FILES["claimsfile"]["tmp_name"]; 
$claimsFileName = $_FILES["claimsfile"]["name"]; 
$claimsFilePointer = fopen($_FILES["claimsfile"]["tmp_name"], "r"); 
+0

Qu'essayez-vous d'accomplir? A en juger par votre question initiale et les réponses ultérieures, je crois que le tableau '$ _FILES' n'est peut-être pas la meilleure solution ... –

Répondre

3

Je soupçonne que ce n'est pas possible en raison de raisons de sécurité, vous ne devez cliquez le bouton Parcourir et spécifiez un fichier premier. Pré-remplir ce champ avec quelques chemins difficiles(../../etc) et ne pas appuyer sur le bouton de navigation aurait créé des problèmes de sécurité (si vous pouvez imaginer pendant un certain temps)

+0

Ok. Si je ne peux pas faire cela sans bouton Parcourir, puis-je utiliser n'importe quel truc pour remplir le champ de texte de navigation avec le chemin requis sur un événement de clic sur un bouton. – Awan

+0

@Awan: Comme je l'ai dit vous ne pouvez pas, vous devez cliquer sur le bouton Parcourir. – Sarfraz

+1

Absolument impossible sans ActiveX/Java/Flash. –

2

Vous ne pouvez pas. HTML ne le permet pas pour des raisons de sécurité. La seule façon de contrôler quel fichier est téléchargé à partir du serveur serait d'utiliser une applet (java, activeX, flash) - et même alors, vous aurez besoin d'utiliser du code signé pour sortir du sandbox.

C.

+1

Pas même Flash est autorisé à le faire sans afficher une boîte de dialogue "Sélectionner un fichier" je pense. –

Questions connexes