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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[PHP v5.6.21] Comment créer le fichier résultat avec le même nom que celui du script php mais en .txt ?


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut [PHP v5.6.21] Comment créer le fichier résultat avec le même nom que celui du script php mais en .txt ?
    Bonjour,

    J'ai un hébergement mutualisé chez Ovh.
    J'ai récupéré et installé dans ./www/test/ un script dénommé projet.php

    Lorsque je l’exécute à partir d'un programme écrit en w-langage, je lui passe 2 paramètres dans la ligne de commande.
    Lorsque le script est exécuté sur le serveur ovh, il crée dans le même dossier 'test' un fichier de même nom mais avec l’extension .txt
    A chaque appel, le contenu du fichier s'enrichie d'une nouvelle ligne qui contient une DateHeure, le contenu du paramètre 1 et le contenu du paramètre 2 le tout séparé par une barre "|"
    Si le fichier n'existe pas il est créé lors du premier appel.

    Je ne connais rien au php, mais ce script m'est fort utile.
    J'aimerai l'améliorer pour que le fichier texte créé par ce dernier porte automatiquement le même nom que celui du script php mais avec l’extension .txt
    Actuellement le nom du fichier texte est écrit en dur dans le script et je suis obligé de le modifier à la main pour chaque nouveau projet que j'installe sur le serveur.

    Après de longues recherches, j'ai trouvé une fonction qui renvoi le nom du script : $_SERVER['PHP_SELF'] mais ça renvoi le nom et son extension donc c'est pas bon.
    De toute façon, je ne sais pas comment modifier ce script pour atteindre mon objectif...
    Je remercie d'avance l'âme charitable qui voudra bien me consacrer de son temps pour me donner la solution.

    Voici mon code d'appel en w-langage

    sMonPhp est une chaîne

    // Construction de la chaîne à passer à la requête avec ses deux paramètres
    sMonPhp = "http://nom_du_domaine/test/projet.php"+"?val1="+param1+"&val2="+param2

    SI HTTPRequête(sMonPhp) = Vrai ALORS info("La requête a été envoyée")

    et voici le code du fichier distant : projet.php

    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
    19
    20
     
    <?
     
    if (isset($_GET['val1']))  $val1     = $_GET['val1'] ; else  $val1    = "";
    if (isset($_GET['val2']))  $val2     = $_GET['val2'] ; else  $val2    = "";
     
    $space         = " | ";
    $filename    = 'projet.txt';
    $date          = date("YmdHis");
     
    $file           = file_get_contents($filename);
    $ligne         = $date.$space.$val1.$space.$val2.$space."\n".$file ;
     
    $fp             = fopen($filename, "w");
    fwrite($fp, $ligne);
    fclose($fp);
     
    exit();
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu veux dire qu'en fait "projet.php" a un nom différent selon le projet (et donc que tu le renommes dans chaque projet) ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut
    Bonsoir et merci pour votre intervention.

    Oui, je renomme le fichier projet.php avec un nom qui fait référence au logiciel qui va l'appeler. (projet.php est pour l'exemple)
    (cf. la procédure d'appel en w-langage)

    Et en même temps j'écris manuellement ce nom dans le script à la place de 'Projet.txt'
    Ensuite j'envoie le fichier dans un répertoire unique sur le serveur.

    Ainsi chacun de mes logiciels exécuté sur un poste connecté à Internet appel son propre fichier php qui crée à son tour le fichier texte du même nom avec une première ligne de paramètres à l’intérieur.
    Selon le cas, mes logiciels appellent si besoin leurs fichiers php respectifs qui ajoutent une nouvelle ligne de paramètres dans leurs fichiers texte respectifs etc..

    La modif que j'aimerais apporter m'éviterais simplement d'ouvrir à chaque fois le fichier php (que je renomme) pour y mettre en dur le nom que j'attribue à ce même fichier php avant de le copier sur le serveur.
    En clair le fichier dans le code serait relatif et non absolu.
    Ainsi si je place dans le répertoire /test/ du serveur par exemple 3 fichiers ayant pour nom aaa.php, bbb.php, ccc.php, lors de leur exécution, ils créeront automatiquement leur fichier texte respectif : aaa.txt, bbb.txt, ccc.txt

    J’espère n'avoir pas été trop confus dans mes explications...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ca serait plus efficace d'avoir un fichier de configuration qui contient, entre autres, le nom du projet.
    Ca t'éviterait de renommer projet.php et ça regle aussi le problème du nom du fichier .txt
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Par défaut
    Houla, je ne m'attendais pas à avoir une réponse aussi vite !

    Je dois vous prévenir, je suis une bille en php...
    Je dois avouer que je ne comprends pas bien l'utilité du fichier de configuration...
    En quoi il serait écrit ? php? txt ?
    Et surtout son fonctionnement ?
    J'ai déjà du mal à comprendre le petit bout de code en php que j'ai récupéré alors vous comprenez-moi...

    Personnellement, je serai déjà bien content si ce que je demande est faisable !

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu ne veux pas trop modifier, tu peux faire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filename = str_replace('.php', '.txt', $_SERVER['PHP_SELF']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Renommer le fichier output avec le même nom que le fichier input
    Par torvald dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 07/06/2016, 01h56
  2. Comment créer un fichier XML avec plusieurs boucles
    Par Slyvore dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 24/11/2015, 09h33
  3. Réponses: 2
    Dernier message: 30/09/2009, 16h43
  4. Comment créer un fichier binaire avec ces codes
    Par zslovefr dans le forum C++/CLI
    Réponses: 1
    Dernier message: 02/07/2009, 20h34
  5. Comment créer un fichier Excel avec Delphi ?
    Par nancyvoyer dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 30/11/2007, 20h39

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