Lire un fichier sur le client avant un upload

Lire un fichier sur le client avant un upload - PHP - Programmation

Marsh Posté le 26-07-2006 à 09:24:57    

Bonjour,
 
Je suis en train de coder une page qui permet d'uploader un fichier sur le serveur.  
 
Pb: Je ne veux pas copier le fichier sur le serveur s'il n'est pas conforme.  
Donc je voudrais l'ouvrir en lecture seule depuis le client, le vérifier et s'il est bon le copier.
 
J'ai récupéré dans une variable le chemin du fichier du client et j'aimerais l'ouvrir avec fopen. Ca ne marche pas. Voilà ma ligne de code:
 

Code :
  1. $tmp=fopen($_POST['chemfichini'],"r" );


Où $_POST['chemfichini'] est bien sûr le chemin complet du fichier sélectionné depuis le client.
 
Par exemple, son contenu peut être:  
 
C:\\\\Documents and Settings\\\Bureau\\\\Test.txt
 
Ma question est simple:
Est-ce ma syntaxe qui cloche, ou est ce qu'il n'est tout bêtement pas possible de lire un fichier sur le client avec fopen. Auquel cas, comment on peut faire?
 
Merci de votre aide.

Reply

Marsh Posté le 26-07-2006 à 09:24:57   

Reply

Marsh Posté le 26-07-2006 à 10:44:18    

PHP s'exécute sur le serveur et pas dans le navigateur du client.
A ton avis, comment il va faire le serveur pour savoir que "C:\\\\Documents and Settings\\\Bureau" correspond au disque dur de tel ou tel ordinateur?
De plus, tu ne penses pas que ca soit une faille de sécurité vraiment critique si un serveur pouvait lire n'importe quel fichier de n'importe qui sans lui en demander l'autorisation?
 
Pour répondre simplement à ta question : non un serveur web ne peut pas lire des fichiers chez le client. En lui passant un tel chemin, il essaiera d'ouvrir le fichier sur son propre disque dur ce qui lui est impossible vu que le fichier n'est pas chez lui et au pire, il ne ferait qu'ouvrir un autre fichier de même nom.
 
Tout ce que tu peux faire, c'est uploader le fichier, vérifier la validité de son contenu à sa réception, le suprimer du dossier temporaire s'il n'est pas bon ou le copier où il faut s'il te convient.

Reply

Marsh Posté le 26-07-2006 à 10:56:22    

En fait, c'est le client qui choisit le fichier à uploader, c'est pour ça que je voulais le vérifier depuis le serveur avant de le copier.  
J'ai changé de technique puisque c'est impossible comme je voulais faire.
 
Je te remercie de ta réponse.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed