begin process at 2012 05 31 03:10:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Lien fichier local avec EasyPHP inactif


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lien fichier local avec EasyPHP inactif

mercredi 22 avril 2009 à 14:02:42 | Lien fichier local avec EasyPHP inactif

damsterdamer

Bonjour,
Voilà, j'ai un soucis tout bête, et malgré le temps passé dessus je n'arrive pas à le résoudre parce que je ne vois pas vraiment l'erreur...
J'utilise un script PHP qui fais office d' "explorateur limité". Il me permet de parcourir des dossiers en local par EasyPHP, de voir ce qu'ils contiennent, et de "lancer" les fichiers présents dans ces dossiers.

Seul petit bémol à la base, les liens vers mes fichiers locaux étaient du type "http://127.0.0.1/[...]/fichier.ext". Pour un mp3 par exemple, cela me force à le "télécharger" (ce que je ne comprends qu'à moitié, c'est le temps de téléchargement, après tout c'est du local... M'enfin.).
J'ai donc modifier le script afin que le lien apparaisse sous la forme "file:///C:/[...]/fichier.ext".
Jusque là, pas d'soucis, tout se déroule correctement.
Et au moment de tester, bim, problème : le lien est correcte, mais ne se lance pas du tout, il reste inactif...

Je m'explique : le lien est bien déclaré, il est tout bleu (^^) et passe au rouge lorsque je clique dessus ; il y a donc bien un bel HREF. L'adresse contenu est également valide (si je fais un copier/coller du lien dans la barre d'adresse, le fichier s'ouvre). Mais si je clique sur le lien, rien ne se passe, ormis la couleur (rollover par defaut) qui montre que le lien est actif, rien ne s'ouvre, aucun message, la page reste la même.

Ce que je ne comprends vraiment pas, c'est qu'en copiant/collant le lien, il fonctionne, mais en cliquant dessus, rien ne se passe ; le problème viendrait-il d'une configuration particulière d'EasyPHP ?

Je tiens à préciser que la page n'est faite que pour s'exécuter en local, et donc pas de réponse du genre "sur Internet, personne ne pourra accéder à ton disque dur, encore heureux parce que sinon..." etc.

Je voudrais juste savoir pourquoi en passant par EasyPHP, le lien ne fonctionne pas...

Merci d'avance !

Damien J.
mercredi 22 avril 2009 à 21:30:36 | Re : Lien fichier local avec EasyPHP inactif

kohntark

Membre Club
Salut,

Tu ne devrais pas faire ça tu sais, parce que, sur internet, personne ... sorry

Peut on voir le code complet du lien ?


Cordialement,


Kohntark -

jeudi 23 avril 2009 à 00:31:18 | Re : Lien fichier local avec EasyPHP inactif

damsterdamer

Bonjour,
euh le code "complet" non, parce que c'est en deux pages et très long...
Le lien est généré par un ECHO, on m'avais dit de remplacer l'ECHO par un HREFdirectement en HTML (soit disant qu'ainsi EasyPHP ne l'interprèterait pas et permettrait au lien de fonctionner correctement, je suis pas convaincu...), mais aucun changement..

Voilà le bout de code actuel générant les liens :

<?php

if($type==="dir"){
echo "<a href=?View=".$path."/".$namespace.">".$stringname."</a>";
}

if($type==="files"){
$chem = "C:/chemin_précédant_le_répertoire/".$path."/".$namespace;
$chem = strtr($chem, "//", "/");
?>

<a href="file://<?php echo($chem) ?>" target="_blank"><?php echo($stringname) ?></a>

<?php
;}
?>

Le STRTR me sert à enlever un double-slash qui s'insérait dans le lien (dû au script original, qui est fait pour afficher un lien relatif et non absolu).

Voilà, si jamais l'intégralité du code est vraiment nécessaire, je la mettrai en ligne sous forme de .txt


Je tiens à préciser qu'en regardant le code source de la page générée, j'ai remarqué dans les liens ceci : "[...]/dossier1/../dossier1/[..]"
Donc il revient en arriere d'un dossier pour retourner dedans. Ca n'apparait pas dans l'url affiché lors du survol du lien, mais dans tous les cas même un copier/coller de ce lien étrange fonctionne...

Merci de prêter attention à mon problème !

Damien J.
jeudi 23 avril 2009 à 08:35:18 | Re : Lien fichier local avec EasyPHP inactif

kohntark

Membre Club
euh le code "complet" non, parce que c'est en deux pages et très long...
=>
Je te demandais le code complet du lien, cad ce que tu as fourni

Tes syntaxes sont incorrectes :

echo "<a href=?View=".$path."/".$namespace.">".$stringname."</a>";
=>
echo '<a href="ton_fichier.php?View='.$path.'/'.$namespace.'">'.$stringname.'</a>';

$chem = strtr($chem, "//", "/");
=> ne fonctionnera pas, vois plutôt du côté de str_replace

"[...]/dossier1/../dossier1/[..]"
=> c'est vraiment une chose à éviter !!

<a href="file://<?php echo($chem) ?>"
=> dans de nombreux navigateurs il n'est plus possible d'utiliser file: à partir d'une adresse http:// pour des raisons de sécurités (même sous IE il me semble que ça ne fonctionne pas) A moins de paramétrer le navigateur pour l'autoriser mais c'est à mon sens une mauvaise idée.


mais dans tous les cas même un copier/coller de ce lien étrange fonctionne
=> ce n'est pas parce que tu colles un lien dans le navigateur qu'il se comportera de la même manière lors d'un click. Le traitement est différent (sécurité oblige, voir ci dessus)


Passe donc tous tes liens en relatifs (<a href=".../mp3/truc.mp3") ou absolus, ou utilise un flux de données géré par PHP


Cordialement,

Kohntark -

jeudi 23 avril 2009 à 12:47:31 | Re : Lien fichier local avec EasyPHP inactif

damsterdamer

Bonjour,
Je suis d'accord pour la syntaxe de l'ECHO, mais la mienne fonctionne tout de même..
Pour le STRTR, c'est vrai que j'ai eu du mal à discerner les différence dans toutes les "fonctions" de remplacement de caractères ^^ Mais celle-ci m'a donné le résultat escompté, alors je n'ai pas été chercher plus loin... J'vais essayer ta méthode.

"[...]/dossier1/../dossier1/[..]"
=> c'est vraiment une chose à éviter !!

==> Je sais bien, mais je vois pas comment passer outre... Et d'un autre coté, le survol du lien ne m'indique directement "[...]/dossier1/[...]", donc lors du clic ca ne devrais pas poser de soucis...

Pour le lien en "FILE", il a toujours fonctionné chez moi :x
Avec FF ou IE, no problem'.. Du moins sur une page en HTML. Vu que ça n'est pas fait pour être distribué, c'est la meilleure solution s'offrant à moi ; en fait, je n'ai pas trop le choix, si je met une adresse en relatif, il voudra me télécharger le fichier, et en plus il le "télécharge" vraiment, avec le temps de chargement relativement lourd pour les gros fichiers... Ceci ne se produit que pour une page en PHP appelée sous la forme "http://127.0.0.1/....".

EDIT : Okayy, en gros si j'ai bien compris, vu que j'utilise EasyPHP l'adresse est en HTTP et bloque le lien en "FILE"... D'un autre côté, comment je peux loader une page en PHP directement avec l'adresse "C:/....", en HTML oui, en PHP non... !?
( -> je me souviens d'un site en ligne que j'avais créer, qui permettait d'accéder à sa propre corbeille... donc le "file" fonctionnait très bien depuis un http.)

Une petite idée, je vais essayer d'inclure le "file" dès le début du script, pour le repertoire à parcourir ; les liens pourront alors être en relatifs, tout en menant vers mon Disque Dur directement.

Je te tiens au courant, merci !

Damien J.
vendredi 24 avril 2009 à 02:18:59 | Re : Lien fichier local avec EasyPHP inactif

kohntark

Membre Club
Je suis d'accord pour la syntaxe de l'ECHO, mais la mienne fonctionne tout de même..
=>
ce n'est pas une raison pour produire un code non conforme qui te posera tôt ou tard des problèmes, même en local.

Je sais bien, mais je vois pas comment passer outre... Et d'un autre coté, le survol du lien ne m'indique directement "[...]/dossier1/[...]", donc lors du clic ca ne devrais pas poser de soucis...
=>
même remarque.
Ce genre de code "crade" (le code hein, ni vois là aucune méchanceté) ne va t'apporter que des bugs, et ça risque de ne plus fonctionner du jour au lendemain (changement / update de browser, ...)

D'un autre côté, comment je peux loader une page en PHP directement avec l'adresse "C:/....", en HTML oui, en PHP non... !?
( -> je me souviens d'un site en ligne que j'avais créer, qui permettait d'accéder à sa propre corbeille... donc le "file" fonctionnait très bien depuis un http.)
=>
Je n'ai pas tout compris, sorry.
Tu ne pourras pas, sauf erreur de ma part bien sur, charger un fichier php via un chemin style "c:/...", tout simplement parce que PHP est "appelé" par le serveur web, ce qui n'est pas le cas de ce type d'adresse.
"Fonctionnait" comme tu dis. Heureusement les logiciels évoluent et certaines faillent de sécurité disparaissent.


@+,

Kohntark -

vendredi 24 avril 2009 à 13:10:29 | Re : Lien fichier local avec EasyPHP inactif

damsterdamer

Réponse acceptée !
Bonjour,

Bon beh après divers test, Mea Culpa, les anciennes techniques de lien vers un fichier local depuis un serveur ne fonctionnent plus ne effet... Ni en HTML, ni en PHP, ni sur IE, ni sur FF..
(> Test en PHP
 > Test en HTML)

La seule condition pour que ça fonctionne encore est de lancer la page localement, et uniquement avec celle en HTML, forcément.

J'imagine que pour mon projet local, la seule méthode qu'il me reste doit être de "supprimer" cette sécurité directement sur le navigateur, mais dans ce cas ce post n'a plus lieu d'être ici.

Je te remercie pour ton aide, même si cela abouti à une impasse, ça m'a au moins donné l'idée de la direction dans laquelle chercher

Au revoir (la 1ere fois que je post ici, je vais essayer de clore ce topic ^^) et encore merci pour la réactivité !


Cette discussion est classée dans : fichier, local, lien, easyphp, inactif


Répondre à ce message

Sujets en rapport avec ce message

lien fichier local avec easyphp [ par toineekikil ] Bonjour, Alors voila je fais un site intranet et j'utilise easyphp. J'ai besoin de consulter un fichier excel, j'ai donc commencé par faire un modification fichier [ par guernoulle ] Bonjour J'ai créé un site en réseau local pour mon boulot. Sur ce réseau local un pc est dedié serveur. Sur les pages du site se trouve des liens poi copier un fichier du serveur distant sur le local [ par jennet ] bonjour a tous !! j'aimerais bien savoir s'il y a moyen de copier les fichiers d'un repertoire sur le serveur distant vers le repertoire local de mon [EasyPhp] Problème d'accès au site local d'un réseau WIFI [ par nitrique ] Bonjour à tous (qui, comme moi, n'êtes pas en vacances, hi), J'ai installé EasyPhp sur un PC client d'un réseau WiFi et sur ce poste, lorsque je fait carte de france flash avec lien des départements vers un fichier php [ par manuel49 ] Je cherche une personne qui pourrait me trouver le moyen de faire un lien vers un fichier php qui récupère les données d'un fichier excel.Si vous avez la fonction fread et easyphp [ par Teclis01 ] Bon voila j'ai un petit soucis de traitement car je lis un fichier avec 151433 carateres et je n'arrivais pas a le traiter bizarement et lorsque j'ai Envoie de mail avec easyphp [ par nicompx ] Salur, J'utilise gmail ! Dans mon fichier ini.php j ai SMTP = smtp.gmail.com,... sur le port 645 Est-ce que quelqu un peut me dire avec kel serveur m Surement facile a corriger... [ par michmichman ] Voila mon script:include("sql.php");$conn = mysql_connect($host, $user, $password);mysql_select_db($bdd) or die("Impossible d'ouvrir la base de donnee easyphp aurait des lacunes ? [ par Teclis01 ] Voila je viens exposer mon petit probleme ...je pensais faire un petit explorateur de fichier pour mon site donc je fais chauffer easyphp et la le dra le click sur un lien vers fichier est enregistré dans excel pour un suivi [ par dam_37 ] J'ai une page avec 4 liens vers des pdf ou images s'ouvrant dans d'autres fenêtres.J'aimera


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales