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 :

exécution du fichier suite à sa création


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut exécution du fichier suite à sa création
    Voila, je créer un .bat avec des parametres recuprer dans des input text
    le fhicer est bien créer quand j'appuie sur mon submit mais le probleme
    c'est qu'il m'execute la precedente version du fichier

    voila mon code:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <form name="sql" id="sql" method="post" action="#" onsubmit="<?php system('\\\alcoserv\web\exemple.bat')?>">
    schema:<input type="text" name="schema" id="schema">
    </input>
    alias:<input type="text" name="alias" id="alias">
    </input>
     
    <input  type="submit" value="TEST SQL">
     
    <?php
     
    $f = '\\\alcoserv\web\exemple.bat';
    $text = "\\\alcoserv\web\sqlplus ";
    $text .=$_REQUEST['schema'];
    $text .="/";
    $text .=$_REQUEST['schema'];
    $text .="@";
    $text .=$_REQUEST['alias'];
    $text .= " @\\\alcoserv\web\select.sql";
     
    $handle = fopen($f,"w");
    // regarde si le fichier est accessible en écriture
    if (is_writable($f)) {
    // Ecriture
        if (fwrite($handle, $text) === FALSE) {
          echo 'Impossible d\'écrire dans le fichier '.$f.'';
          exit;
        }
     
        //echo 'Ecriture terminé';
     
        fclose($handle);
     
    }
    else {
          echo 'Impossible d\'écrire dans le fichier '.$f.'';
        }
     
    ?>

    Si vous avez une piste

    Merci

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Peut-être en ajoutant flush() et un petit sleep(1) après la fermeture du fichier... unset($handle); aussi...
    Mais bon, ce n'est probablement pas très utile.

    Utiliser "w+" plutôt que "w"...si tu veux aussi pouvoir le lire par la suite.

    Attention à l'utilisation de exit; Eviter de l'utiliser si il n'est pas vraiment nécessaire.
    Ce n'est pas parce-que tu ne peux pas écrire dans le fichier que celui-ci n'a pas été ouvert -> fclose($handle);

    Voici la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if((!file_exists($f))||(is_writable($f))){
      $handle=fopen($f,"w+");
      if($handle){
        if(fwrite($handle,$text)===FALSE){
          echo 'Impossible d\'écrire dans le fichier '.$f.'.';
        }else echo 'Ecriture terminée.';
        fclose($handle);
        flush();
        sleep(1);
        unset($handle);
      }else echo 'Erreur de création du pointeur de fichier.';
    }else echo 'Ecriture du fichier non permise ou fichier introuvable.';

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/09/2012, 00h05
  2. Réponses: 26
    Dernier message: 29/06/2010, 16h35
  3. Réponses: 6
    Dernier message: 01/09/2009, 13h01
  4. Réponses: 57
    Dernier message: 13/11/2007, 17h48
  5. Récupérer un fichier suite à l'utilisation de la commande rm
    Par Kimael dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 02/10/2004, 18h34

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