IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[FTP] fopen qui ne fonctionne pas dans tous les contextes ..


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Bonsoir,
    j'ai une page php qui fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vf_c_fp = fopen($vf_c_emplacement,"r")  or die ("Impossible d'ouvrir le fichier ".$vf_c_emplacement);
    Cela fonctionne partfaitement lorsque je suis en test, en localhost avec mov'amp (php 5.0.4 apache 2.0.54) winxp fam sp2
    alors que lorsque je mets online (php 5.11 apache 2.0.53 fedora) linux, grosses insultes
    fopen(C:\\totodit.txt)" function.open failed to open stream no such file or directory in"
    De quoi cela peut-il bien venir ?
    Cordialement,
    Christophe Charron

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Tout est dit dans le message d'erreur, le fichier spécifié dans le fopen est introuvable.

    Pour des raisons de portabilité je te conseille d'utiliser un chemin relatif à la racine de ton site plutot qu"inclure la lettre de lecteur (par ex: fopen('/totodit.txt', 'r'))
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  3. #3
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    j'ai bien lu qu'il ne le trouvait pas. Mais cela n'explique pas pourquoi avec mon pseudo-site sur localhost, il trouve bien ce fichier qui existe bien sur mon disque alors que lorsque que cet "open" est exécuté depuis mon vrai site, ce même fichier qui se trouve toujours au même endroit de mon même disque n'est plus trouvé.
    Pour une question de lisibilité et surtout de taille du chemin j'ai utilisé le sélectionneur de fichier via du javascript pour récupérer mon fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function pf_ouvre_fichier(){
    	try {
    		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    	} catch (e) {
    		alert("Vous n'avez pas l\'autorisation de lire des fichiers!!");
    	}
    	var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
      var nsIFilePicker = Components.interfaces.nsIFilePicker;
      var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
      fp.init(window, "Sélectionner un fichier", nsIFilePicker.modeOpen);
      fp.appendFilters(nsIFilePicker.filterAll);
      var reponse = fp.show();
    	if (reponse == nsIFilePicker.returnOK){
    		//return fp.file.path;
    		fa_gid("tb_emplacement").value=fp.file.path;
        //alert('on peut maintenant ouvrir le fichier  '+ fp.file.path);
    	}
    }
    Je ne dois donc pas, a priori, utiliser, de chemin relatif.
    Sauf si depuis un vrai site situé sur le vrai internet, je ne peux pas utiliser fopen?
    Cordialement,
    Christophe Charron

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Christophe Charron
    j'ai bien lu qu'il ne le trouvait pas. Mais cela n'explique pas pourquoi avec mon pseudo-site sur localhost, il trouve bien ce fichier qui existe bien sur mon disque alors que lorsque que cet "open" est exécuté depuis mon vrai site, ce même fichier qui se trouve toujours au même endroit de mon même disque n'est plus trouvé.
    Sauf si depuis un vrai site situé sur le vrai internet, je ne peux pas utiliser fopen?
    Si le site n'est pas hébergé sur le même serveur que celui où se trouve ton fichier à ouvrir alors il ne pourra jamais accèder à ce fichier via la méthode fopen (sauf via http ou ftp). Si tu veux que ton "vrai" si accède à des données de ton PC alors il faut uploader le fichier.

  5. #5
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Je suis désolé de paraître si obtus, mais je ne comprends pas !!!
    Mon faux site est identifié en localhost puisque c'est mov'amp qui le gère. Il me semblait que dans ce cas, les ressources "disque local" n'étaient déja plus vues de la même manière que dans l'explorateur de fichier. Je n'arrive pas à faire la différence entre une page php hébergée sur localhost et une autre sur www.truchmuche.net !! y'a un truc qui m'échappe considérablement !!
    Cordialement,
    Christophe Charron

  6. #6
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    je pense que ca depend de la variable $vf_c_emplacement

    si elle contient un message , passe le à la fonction urlencode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    urlencode ($vf_c_emplacement )
    ;-) cordialement

  7. #7
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Bonjour,
    elle contient le chemin et le nom du fichier et la fonction encodeurlcomponent est utilisée dans le javascript.
    Cordialement,
    Christophe Charron

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/11/2013, 00h20
  2. [CS5] Texte dynamique qui ne fonctionne pas avec tous les chiffres
    Par Shikam dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 10/12/2010, 07h17
  3. condition if qui ne fonctionne pas avec tous les elements
    Par oceane751 dans le forum Langage
    Réponses: 2
    Dernier message: 04/09/2008, 12h39
  4. [FTP] unlink qui ne fonctionne pas
    Par Mr Meuble dans le forum Langage
    Réponses: 5
    Dernier message: 03/07/2007, 10h00
  5. Réponses: 6
    Dernier message: 22/05/2007, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo