Explorer une arboresence NTFS

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Explorer une arboresence NTFS

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 22:47

je testerai demain.

Merci Dr@ke :)

Re: Explorer une arboresence NTFS

par Dr@ke » 24 nov. 2009, 18:20

rawurlencode() ?
http://www.php.net/manual/fr/function.rawurlencode.php
$fichier = rawurlencode($fichier);
ou:
$fichier = str_replace(' ', '%20', $fichier);

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 17:54

Hormis le fait de mettre des underscores dans le noms des .pdf.

Mais s'il existe une autre façon de faire, je suis preneur :)

Merci

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 16:59

Non ils ne sont pas sur le même serveur, un est sur W2k3 et l'autre sur Linux.

Mais c'est résolu, maintenant les *.pdf sont sur le même serveur que mon site Web, donc je peux lister les fichiers, en revanche j'ai encore besoin d'aide.

Tout d'abord, voilà mon code :
<?
$adresse = "./docs/it"; //Chemin du dossier.

$dossier = opendir($adresse); //Ouverture du dossier. 
echo '<fieldset><legend>IT</legend><br>'; //Ouverture de fieldset 
//(Fieldset permet de faire des cadres avec légende intégrée en haut a gauche. 
//C'est très simple à utiliser et ça permet de répartir les formulaires en plusieurs parties et donc d'accroître leur lisibilité !). 
while ($Fichier = readdir($dossier)) //Affichage...
{  
     if ($Fichier != "." && $Fichier != "..") 
     { 
	      echo '<table class="link_fich">';
                      echo '<tr><td><img src="pictures/icone_pdf.jpg"><br />';
                      echo 'Nom : '.$Fichier.'<br />';  
                      echo '<a href='.$adresse.$Fichier.' target="_blank">Ouvrir</a></td></tr><br /></table>'; 
     }
}
closedir($dossier); //Fermeture du dossier. 
echo '</fieldset>'; //Fermeture du fieldset.
?> 
Donc ce petit script me liste bien mes fichiers *.pdf mais j'ai besoin de les ouvrir au besoin. Mais comme les noms des fichiers ont des espaces, ça pose problème...

Re: Explorer une arboresence NTFS

par zeus » 24 nov. 2009, 16:24

S'ils ne sont pas sur le même disque dur, mais sur le même serveur, ça peut être possible.
S'ils sont sur 2 serveurs différents, ça ne le sera pas simplement.

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 16:20

zeus, le lecteur F: et O: ne font pas partit du même disque dur.

Donc je pense que ce que je cherche n'est pas possible. Au bien je met mes *.pdf sur le même disque dur que mon scripts PHP.

Re: Explorer une arboresence NTFS

par zeus » 24 nov. 2009, 16:07

<mode taquinage un peu sévère mais pas méchant>
le post le plus utile de la discussion
</mode>

:lol:

Re: Explorer une arboresence NTFS

par Dr@ke » 24 nov. 2009, 13:47

Lol, oufff moi je n'y comprend rien à votre histoire :)

Ca ressemble à un sketch de dialogue de sourd loll

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 12:39

Par contre, est-ce que le serveur qui héberge la cible de ton lecteur F:/ est le même que celui qui est la cible de ton lecteur O:/ ?
Ca je ne le sais pas, je te tiens au courant.

Re: Explorer une arboresence NTFS

par zeus » 24 nov. 2009, 12:37

Oui, c'est impossible, comme nous te le disons depuis hier soir.
Tu ne peux pas, depuis le serveur, accéder au lecteur F:/

Par contre, est-ce que le serveur qui héberge la cible de ton lecteur F:/ est le même que celui qui est la cible de ton lecteur O:/ ?

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 12:31

Quand tu dis que tes fichiers sont sur O:/, c'est que tu as un lecteur réseau monté sur ton PC. Cela ne signifie pas que ton script s'exécute depuis ton PC, mais sur le serveur.
C'est exactement ça oui. Donc ça veut dire que c'est impossible ?

Merci de ton aide.

Re: Explorer une arboresence NTFS

par zeus » 24 nov. 2009, 12:19

Quand tu dis que tes fichiers sont sur O:/, c'est que tu as un lecteur réseau monté sur ton PC. Cela ne signifie pas que ton script s'exécute depuis ton PC, mais sur le serveur.
Donc, mon explication précédente est la bonne.

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 11:51

zeus je vais te réexpliquer parceque c'est vrai que ce n'est pas évident.

J'ai mon PC sur lequel je développe un site, j'enregistre tous mes fichiers sur un serveur Apache je pense, sa lettre est O:
Donc le script PHP pour lister le répertoire est sur O:
Ce script PHP doit lister un répertoire qui est sur un lecteur réseau, sa lettre est F:

Voilà j'espère avoir été aqssez clair, sinon je peux m'expliquer encore ;).

Merci de ton aide.

Re: Explorer une arboresence NTFS

par zeus » 24 nov. 2009, 11:40

Merci d'être revenu pour clarifier la situation ;)

Donc, pour t'expliquer ton soucis :
Tu as un serveur, qui héberge ton script PHP.
Tu as ton poste (c'est un autre PC) sur lequel tu as un lecteur réseau (F:/)

Quand tu lances ton script PHP, tu passes par ton navigateur (ton ordinateur) qui demande au serveur d'exécuter le script PHP. Le script PHP s'exécute donc sur le serveur.
Demander au script PHP d'accéder à la lettre F:/, c'est demander au serveur de venir sur ton poste à toi, en particulier (F:/ chez toi pourrait être G:/ sur un autre poste, voir même ne pas exister) pour retourner sur le serveur. Et ça, ce n'est pas possible.

Toutefois, si tu nous expliquais à quel endroit pointe F:/, on aurait peut être une solution.
Est-ce que le serveur sur lequel pointe F:/ est le même que celui qui héberge le script PHP ?

Re: Explorer une arboresence NTFS

par Laifen » 24 nov. 2009, 11:19

Tu n'essayerais pas, par hasard, à faire lister par un script Php résidant sur un serveur (qui n'est pas ta machine) le contenu d'un répertoire local (ta machine) ? Car ça c'est impossible, et témoigne d'une certaine méconnaissance des fonctionnements du web.
Oui c'est exactement ça, donc se serait impossible :(