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 :

[PHP-JS] Executer un fichier local


Sujet :

Langage PHP

  1. #41
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    si je met la ligne en commentaire ça ne change rien

  2. #42
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    et ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wmplayer.php?m=test.www
    ça a passé ou pas.

  3. #43
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    ça me sort: "fichier innexistant"

  4. #44
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    parfait. j'aimerais vraiment voir une url vers un fichier mp3 pour être certain qu'il n'y pas des caractères qu'IE7 n'aimerait pas.

    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
    39
    40
     
    <?php
     
    //
    //  wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
        if(preg_match('#\.wpl$#i',$fichier)) {
          $wpl=file_get_contents($fichier);
          if(!preg_match_all('#<media(?:(?!src!>).)+src\s*=\s*"([^"]+)"#isU',$wpl,$media)) {exit('aucun média WPL physique');}
          $asf='<ASX VERSION="3.0">';
          foreach($media[1] as $m) {
            $asf.='<ENTRY><REF HREF="'.$m.'" /></ENTRY>';
          }
          $asf.='</ASX>';
        }
        else {
          $asf='
            <ASX VERSION="3.0">
              <ENTRY>
                <REF HREF="'.realpath($fichier).'" />
              </ENTRY>
            </ASX>
          ';
        }
        echo htmlentities($asf);
        header('Content-Type: video/x-ms-asf');
        header('Content-Length: '.strlen($asf));
        header('Accept-Ranges: bytes');
        //header('Content-Disposition: inline; filename="multimedia.asx"');
        echo $asf;
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>
    sinon, le code ci-dessus fait un echo avant les headers. le fichier affichera seulement du texte.. c'est pour voir si le type mime est ou n'est pas configuré dans ton IE7.

  5. #45
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    je viens d'essayer le code et il me met toujours le meme message d'erreur

  6. #46
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    vide ton cache ou change de mp3 pour être certain...

  7. #47
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    non toujours la meme erreur....

  8. #48
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    on se dirige vraiment vers un caractère qu'IE n'aimait pas

    dernier essai

    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
     
    <?php
     
    //
    //  wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
          $asf='
            <ASX VERSION="3.0">
              <ENTRY>
                <REF HREF="'.realpath($fichier).'" />
              </ENTRY>
            </ASX>
          ';
        echo htmlentities($asf);
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>

  9. #49
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    ah ! cette fois on a du texte !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ASX VERSION="3.0"> <ENTRY> <REF HREF="C:\Documents and Settings\HP_Administrateur\Mes documents\Mes Sites\MusiqueWorld\Site 2.4\musique\teste.mp3" /> </ENTRY> </ASX>

  10. #50
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    alors c'est bien le code

    un autre essai

    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
     
    <?php
     
    //
    //  wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
        if(preg_match('#\.wpl$#i',$fichier)) {
          $wpl=file_get_contents($fichier);
          if(!preg_match_all('#<media(?:(?!src|>).)+src\s*=\s*"([^"]+)"#isU',$wpl,$media)) {exit('aucun média WPL physique');}
          $asf='<ASX VERSION="3.0">';
          foreach($media[1] as $m) {
            $asf.='<ENTRY><REF HREF="'.$m.'" /></ENTRY>';
          }
          $asf.='</ASX>';
        }
        else {
          $asf='
            <ASX VERSION="3.0">
              <ENTRY>
                <REF HREF="'.realpath($fichier).'" />
              </ENTRY>
            </ASX>
          ';
        }
        echo htmlentities($asf);
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>

  11. #51
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    le même message qu'avant

  12. #52
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    un message d'erreur? et en enlevant la partie WPL

    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
     
    <?php
     
    //
    //  wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
          $asf='
            <ASX VERSION="3.0">
              <ENTRY>
                <REF HREF="'.realpath($fichier).'" />
              </ENTRY>
            </ASX>
          ';
        header('Content-Type: video/x-ms-asf');
        header('Content-Length: '.strlen($asf));
        header('Accept-Ranges: bytes');
        header('Content-Disposition: inline; filename="multimedia.asx"');
        echo $asf;
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>

  13. #53
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    non avec le code en dessu ça me mettait le texte et avec celui la maintenant ça me mets le message d'erreur du début

  14. #54
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    ouf... merci !!!


    alors ton IE7 n'a pas le type mime ASF de configuré... si et seulement si le code suivant fonctionne parfaitement sous FF.

    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
    39
     
    <?php
     
    //
    //  wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
        if(preg_match('#\.wpl$#i',$fichier)) {
          $wpl=file_get_contents($fichier);
          if(!preg_match_all('#<media(?:(?!src|>).)+src\s*=\s*"([^"]+)"#isU',$wpl,$media)) {exit('aucun média WPL physique');}
          $asf='<ASX VERSION="3.0">';
          foreach($media[1] as $m) {
            $asf.='<ENTRY><REF HREF="'.$m.'" /></ENTRY>';
          }
          $asf.='</ASX>';
        }
        else {
          $asf='
            <ASX VERSION="3.0">
              <ENTRY>
                <REF HREF="'.realpath($fichier).'" />
              </ENTRY>
            </ASX>
          ';
        }
        header('Content-Type: video/x-ms-asf');
        header('Content-Length: '.strlen($asf));
        header('Accept-Ranges: bytes');
        header('Content-Disposition: inline; filename="multimedia.asx"');
        echo $asf;
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>

  15. #55
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 5
    Points
    5
    Par défaut
    oui ce code marche parfaitement sur FF mais pas sur IE7, qu'est ce que je dois configurer en + ?

  16. #56
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Bah je crois qu'on en revient à ce que je disais...
    Pour une utilisation personelle uniquement, si le type mime est configuré directement à la base, pas besoin de code...

  17. #57
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par Underschooler
    qu'est ce que je dois configurer en + ?
    difficile à dire, le fichier n'est pas offert en download donc ce n'est pas un manque dans l'ActiveX. il n'y a pas d'alerte de sécurité, car ASF est un problème de sécurité... à moins que les alertes de sécurité soient silencieuses sur ton ordinateur. dans ce cas:

    menu "outils" -> item "Options Internet..." -> onglets "Sécurité" -> icone "Intranet Local"

    et ajuster les sécurités en abaissant le niveau ou en personnalisant les options de sécurité.

    l'idée de Raideman me paraissait de loin la meilleure:
    Citation Envoyé par Raideman
    Si le serveur web est ton poste de travail, et que tu es le seul a utiliser ton interface, tu peux toujours faire un system() de ton fichier mp3.
    mais après avoir gelé windows et bien d'autres problèmes étranges dont des ralentissements, le code suivant semble fonctionné...
    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
     
    <?php
     
    //
    //  exec_wmplayer.php
    //
     
    if(isset($_GET['m'])) {
      $fichier=urldecode($_GET['m']);
      if(file_exists($fichier)) {
        $shell=realpath($fichier);
        shell_exec('start wmplayer.exe "'.$shell.'" /prefetch:1');
        header('Location: '.$_SERVER['HTTP_REFERER']);
        exit(0);
      }
      echo 'fichier innexistant';
    }
     
    ?>
    l'ennui est que WMPlayer s'ouvre en arrière plan 9 fois sur 10, alors si quelqu'un connait comment WMPlayer pourrait être en avant plan 10 fois sur 10, je suis + qu'intéressé.

    Citation Envoyé par manu_71
    si le type mime est configuré directement à la base, pas besoin de code...
    Underschooler ne veut pas de temporisation HTTP, si tu sais comment lancé un fichier via appel console et laisser windows résoudre quel exécutable sera chargé, je suis très beaucoup passionnément intéressé.

  18. #58
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Underschooler ne veut pas de temporisation HTTP, si tu sais comment lancé un fichier via appel console et laisser windows résoudre quel exécutable sera chargé, je suis très beaucoup passionnément intéressé.
    En effet, j'ai fait des réponses un peu rapide...
    Le MP3 n'est pas un format 'streamable' directement en le lisant dasn un logiciel (sauf shoutcast par exemple). La solution de streaming simple et efficace (et celle qui va fonctionner chez un gros pourcentage de client) est donc d'utiliser la technologie flash. Un petit lecteur flash qui va recevoir en paramètre (argument) le nom du fichier MP3 à lire en streaming. Seul le plug-in falsh est demander à l'internaute. On évite les problèmes de compatibilité logiciel, codec...
    L'autre solution pour faire du pseduo-streaming, sans vouloir flash est de ne pas utiliser le format MP3. Il y a d'autres types de format (de qualité) qui s'adapte très bien. On peut citer le célèbre real-audio ou le faux-streaming est un jeu d'enfant et ne nécessite pas de programmation.
    Enfin de ce que j'en ai entendu dire, certains logiciels permettent de jouer certains formats en faux-streaming, il suffit alors de paramétré correctement le type de fichiers dans windows (Poste de travail, Options des dossiers, type de fichiers).

    Ce que j'appelle ci-dessus le faux streaming, c'est l'action de mise en cache pour un lecture avant le téléchargement complet du morceau.

    J'espère avoir été un peu plus complet.

Discussions similaires

  1. executer un fichier .php seulement en ligne de commande
    Par navorinco dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 10/12/2009, 13h34
  2. [SQL] Executer un fichier .sql avec php
    Par Mouchi93 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/08/2007, 17h08
  3. [BATCH] executer une fichier .php
    Par pierre.coudert dans le forum Windows
    Réponses: 2
    Dernier message: 28/02/2007, 12h47
  4. Réponses: 3
    Dernier message: 05/11/2006, 19h55

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