Ouvrir un fichier situé sur un serveur à partir d'un poste

Eléphanteau du PHP | 19 Messages

25 févr. 2005, 18:46

Bonjour. Je commence en php et dans le cadre de mon stage, on m'a demandé de créer un script qui permet d'afficher le contenu d'un dossier en hyperliens. En bref, il est possible d'ouvrir les fichiers se trouvant dans ce dossier en cliquant dessus. Bon, jusque là tout vas bien. Les liens s'affichent très bien. PAR CONTRE, ce dossier se trouve sur un serveur. En clair, quand je clique sur un lien, c'est un fichier situé sur le serveur qui s'ouvre. Le problème, c'est quand j'essaie de lire un fichier à partir d'un poste quelconque, le navigateur tente d'ouvrir ce fichier LOCALEMENT. Hors, ce fichier n'est pas sur le PC en question... Il se trouve sur le serveur. Dans IIS sur le serveur, j'ai créé un site virtuel utilisant le port 8086. Donc en tappant "http://SERVEUR:8086", le script s'exécute à merveille. Il liste bien les fichiers qui sont situés dans le dossier sur le serveur, car ces fichiers (et dossier) n'existent pas sur mon poste. Mais quand je clique dessus, il dit qu'il ne trouve pas le fichier... Il essait de les ouvrir localement. Je ne sais pas comment remédier au problème... J'utilise un fichier global.php qui contient le chemin du dossier.

global.php

Code : Tout sélectionner

<?php $GLOBALS["path_bourdages"] = "C:\TEMP\appliances\ss"; ?>
index.php

Code : Tout sélectionner

<? include("global.php"); ?> <html> <head> </head> <body bgcolor="#E7E7E7"> <? function DirTri($rep,$tri) { $Array = array(); $dir = opendir($rep); $i=0; while ($File = readdir($dir)){ if($File != "." && $File != ".." && $File != "index.htm") { $Array[] = "$File"; } $i++; } closedir($dir); if($tri == 'DESC'){ rsort($Array); }else{ sort($Array); } $Max = count($Array); for($i = 0; $i != $Max; $i++){ echo "<a href='$rep/$Array[$i]'>$Array[$i]</a><br>"; } } // utilisation de la fonction // param.1 : chemin du répertoire ("." si il s'agit du rép. courant) // param.2 : ASC ou DESC (A-Z ou Z-A) DirTri($GLOBALS["path_bourdages"],"DESC"); ?>
Le script n'est pas de moi. Je l'ai trouvé sur le net et trafiqué un peu! :P Je me demande si je ne dois pas spécifier le chemin complet du fichier (ou dossier) sur le serveur, mais je n'ai aucune idée de la syntaxe à utiliser.

Quelqu'un peut m'aider? ^^; Si ce n'est pas clair, hésitez pas à poser des questions! C'est la première fois que je fais du php de toute ma vie... lol

Eléphant du PHP | 334 Messages

25 févr. 2005, 19:15

Il faut que les fichiers que tu souhaites rendre téléchargeables se trouvent non seulement sur la même machine que ton serveur mais également dans les fichiers du serveur.

Autrement dit il faut qu'ils soient dans les dossiers du site sinon ils resteront inaccessibles depuis un autre poste.

Voilà :)

Eléphanteau du PHP | 19 Messages

25 févr. 2005, 19:17

C'est moi où je trouve pas ca clair...? lol Il ne s'agit pas d'un site internet. C'est un intranet.

Et les fichiers sont bel et bien sur le serveur.

Eléphant du PHP | 334 Messages

25 févr. 2005, 19:30

Intranet ou Internet c'est la même chose

Par exemple si la racine de ton serveur est c:\serveur\www

Il faut que tes fichiers (ceux qui tu veux rendre téléchargeable) soit également dans un sous dossier de c:\serveur\www et pas ailleurs sur le disque dur.

Eléphanteau du PHP | 19 Messages

25 févr. 2005, 19:34

Le problème, c'est que je dois ABSOLUMENT aller chercher ses fichiers sur le disque dur du serveur... parce que des fichiers s'ajoutent de temps à autre dans ce dossier... Je veux dire qu'il n'y aura pas toujours seulement 4 fichiers dans le dossier... D'autres seront générés plus tard. Je ne dois pas être obligée d'aller toujours copier ses dossier dans le serveur/www par exemple.

Bon je comprends le principe. Mais, z'êtes sur que ca ne se fait pas directement à partir du disque dur du serveur? lol Sinon, je vais devoir créer un script qui va faire une copie de ses fichiers dans serveur/www... ^^;

Eléphant du PHP | 334 Messages

25 févr. 2005, 20:38

A ma connaissance, ce que tu veux est impossible à réaliser (sans la copie)

A confirmer par les autres :wink:

Eléphanteau du PHP | 19 Messages

25 févr. 2005, 21:06

D'accord merci! lol Je confirme que ca fonctionne très bien avec une copie! 8)