2010-04-12 8 views
0

J'ai un téléchargeur d'image qui utilise la fonction de .ajax() imgur.com API et jQuery pour télécharger des images sur leurs serveurs. Cependant, si je recherche une image en utilisant l'élément <input type="file"/> du formulaire, cela ne réussira à télécharger une image que si le fichier image se trouve dans le même répertoire que le fichier page.php que le formulaire se trouve dans (voir ci-dessous). Comment puis-je permettre à la forme de télécharger des images de un répertoire sur mon ordinateur?HTML Télécharger le formulaire ne télécharger des fichiers trouvés dans le répertoire du fichier PHP

page.php:

<form action="page.php" method="post"> 
    <input type="file" name="doc" id="doc" /><br/> 
    <input type="image" src="go.gif" name="submit" id="submit" /> 
</form> 

Répondre

0

Peut-être est le seul dossier avec écriture-autorisations.

+0

Je fais cela XAMPP tout localement, donc je doute que ce serait un problème. – vette982

+0

pouvez-vous nous montrer un écran de la fenêtre – Adnan

+0

Vous n'êtes pas en train de poster le bon code ou il y a quelque chose de mal avec votre ordinateur. Ce code fonctionne bien, en fait, je l'ai testé sur mon ordinateur et j'ai pu télécharger des fichiers de différents répertoires. S'il vous plaît montrer votre capture d'écran comme suggéré par @Adnan –

0

Je suppose que c'est jquery qui fait la publication réelle à http://imgur.com/api/upload que le formulaire est juste posté sur lui-même, donc je suppose que jquery/javascript peut seulement lire des fichiers dans votre espace web et pas sur l'ensemble de votre dur- conduire.

2

Vous avez oublié l'attribut enctype="multipart/form-data" sur votre étiquette form, pour un. Sans cela, les téléchargements de fichiers ne fonctionnent généralement pas très bien.

Au-delà, le serveur se souciera pas vraiment ce répertoire vous téléchargez FROM, en particulier sous PHP. La copie téléchargée sur le serveur est stockée avec le nom de fichier temporaire ($_FILES['file']['tmp_name']) qui n'a absolument rien à voir avec le répertoire/nom de fichier sur votre ordinateur.

Une fois qu'il est sur le serveur, vous devrez déplacer réellement ce fichier temporaire ailleurs, comme PHP supprimera automatiquement une fois le script se termine et vous avez pas vous-même manipulé. move_uploaded_file() est ce qui est généralement utilisé pour prendre de ce processus.

+0

"Ne pas travailler à bien" est un euphémisme! hehe –

+0

Ya. Ça ne marchera pas __à tous__. –