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] file_exists(), en local/ sur le net ?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut [FTP] file_exists(), en local/ sur le net ?
    Bonjour, voila je me renseigne sur la fonction file_exists
    Pour l'instant je développe sur easyphp, donc en local. Mon répertoire de travail est /projet/
    Quand je test un file_exists('/projet/truc.php'), ca me renvoie faux, mais quand je mets file_exists('C:\Program Files\EasyPHP1-8\www\projet\truc.php'), la ca marche. Mais j'aimerai pouvoir tester l'existence du fichier relativement http://127.0.0.1/, et pas par rapport a mon vrai fichier, car si je l'up sur un ftp, ca va plus marcher...

    J'ai pas l'impression d'etre très clair mais la question n'est pas compliquée, demandez moi des éclaircissement si nécessaire.

    Merci

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    absolu obligatoire.

    plusieurs manières : dirname(__FILE__), $_SERVER['...']

  3. #3
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    :
    absolu obligatoire.
    :

    Personne je tourne sur une plateform WAMP mais le file_exists() marche impec en relatif ...

    Je pencherai plutot pour un prob d'arboresence ... Es tu sûr que ta fonction est appelée au meme niveau que ton truc.php ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Justement ca ne devrait pas dépendre, car je l'appelle en absolu depuis la racine de l'hote, je commence par /projet...
    Donc si il faut mettre également mettre l'hote, c'est pas top car selon qu'on est sur le net ou en local pour développer, c'est pas la meme chose. Donc si c'est ca je peux en effet utiliser dirname(__FILE__) je pense, mais je veux dire j'imaginais que y avais bien une fonction de localisation de fichiers en fonction de l'hote http://127.0.0.1/ et non c:\program...

    Enfin bon merci je devrais m'en tirer

  5. #5
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    Slt,
    j'utilise egalement easyphp.
    J'utilise juste le '.', ie, le chemin c'est './rep/fichier', et ça marche aussi bien en local qu'une fois monté sur le ftp.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Merci j'avais pas essayé, cependant ca limite comme solution.

    En fait ce que je voudrais faire, en tout cas dans un premier temps, c'est vérifier si un fichier existe avant de l'inclure. Donc pour le file_exists il faut une adresse style c:/Program... tandis que le include n'en veut pas, il lui faut un chemin par rapport au include_path ou bien en absolu depuis la racine de l'hote ou d'un hote avec le protocole http.
    Donc comment vérifier qu'un fichier existe avant de l'inclure ? (pas relativement au fichier appellant, mais plutot relativement a l'hote)

    Et autre probleme, je veux afficher une image, mais vérifier qu'elle existe avant, mais elle ne se situe pas sur le meme serveur que moi, et le file_exists ne me parait pas marcher avec le protocole http (ou alors y a certaines restrictions)

    Des idées ?

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par hisy
    :
    absolu obligatoire.
    :
    Pareil, je sais pas qui c'est qui a dit ça mais file_exists marche très bien en relatif !

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Oui, mais peut on partir de la racine de l'hote ? par exemple sur http://127.0.0.1/projet/truc.php, je veux vérifier si le fichiers existe, mais de n'importe quel sous dossier. on devrait pouvoir faire file_exists('/projet/truc.php'), car c'est le chemin absolu a partir de la racine de l'hote http://127.0.0.1/, seulement ca veut pas comment faire ?

    Et sinon pour controler l'existence d'un fichier distant, ca marche comment ? le file_exists marche avec http uniquement a partir de la version 5, et ce n'est pas mon cas

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Non. file_exists travail sur le systeme de fichier donc c'est par exemple :
    /home/raay/projet/truc.php si www pointe sur /home/raay/

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Mais comment faire alors ?

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    deux solutions pour ma part :
    méthode "relative" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file = dirname(dirname(__FILE__)).'/path/to/file';
    méthode "absolue" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    define('INCLUDE_ROOT', dirname(__FILE__).'/include'); //Dans un fichier de conf
    ...
    $file = INCLUDE_ROOT.'/path/to/file';

    généralement j'utilise la deuxième, la première ponctuellement...

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Oui mais apres il me semble (a moins que j'ai mal testé), que le include ne marche pas sur le systeme de fichier local si ?

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    reteste alors ^^

  14. #14
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Ok ok merci !
    Me reste juste a trouver le moyen de tester l'existence d'un fichier distant et ca serait parfait

  15. #15
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    ouverture d'une requete HTTP HEAD via socket...

Discussions similaires

  1. [Inet] Upload .txt local sur ftp
    Par Waduke dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/12/2008, 15h28
  2. Réponses: 7
    Dernier message: 09/12/2008, 00h28
  3. Portable en local et sur le net via wifi
    Par maf dans le forum Windows XP
    Réponses: 5
    Dernier message: 29/08/2008, 19h57
  4. connection mysql de local à sur le net
    Par pimpmyride dans le forum Installation
    Réponses: 3
    Dernier message: 05/07/2006, 16h00
  5. code qui fonctionne en local et pas sur le net
    Par vraipolite dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/08/2005, 10h10

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