#1 Le 05/10/2014, à 18:24
- renaud07
[Résolu] [PHP] chemin d'un fichier sous forme de variable
Bonsoir,
Suite à mon post dans le café sur un script de titrage j'ai réussi à avancer un peu et maintenant je me trouve confronté à un problème, à savoir une fois que j'ai déterminé mon fichier le plus récent, comment ouvrir ce fichier via une variable ?
Concrètement voici le code :
//fichier le plus récent
$liste = glob('C:\AudioLog\Histo_OR3_Diffuseurs\Zone_00\*.Log');
rsort($liste);
echo 'dernier fichier : ' . $liste[0];
// Selection du fichier
$fichier = file('$liste');
En faisant ça ça me dit Warning: file($liste): failed to open stream: No such file or directory in C:\wamp\www\titre2.php on line 53
Comment faire donc pour que le $liste soit vu comme le chemin C:\AudioLog\Histo_OR3_Diffuseurs\Zone_00\Diff_20141005.Log par exemple ?
De plus, je sèche toujours sur la manière de traiter la dernière ligne du fichier qui ne doit contenir au final que la chanson et l'interprète avec un tiret entre les deux, je rappel que ça se présente comme ça :
03:45:58 00008694:IF I AIN'T GOT YOU (CLASSY) :Alicia Keys
qui doit se transformer en (bien sûr selon les chanson ce n'est pas la même longueur) :
IF I AIN'T GOT YOU (CLASSY) - Alicia Keys
Merci d'avance.
Dernière modification par renaud07 (Le 05/10/2014, à 23:59)
Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits
Hors ligne
#2 Le 05/10/2014, à 18:59
- bruno
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Bonsoir,
Tout d'abord ce message aurait davantage sa place dans la rubrique développement et programmation.
Ensuite il faut éviter de coder des chemins de fichier en « dur » (surtout avec un chemin qui ne marchera que sous Windows…).
Pour finir, un peu de lecture :
#3 Le 05/10/2014, à 19:05
- tiramiseb
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Salut,
$fichier = file($liste[0]);
?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#4 Le 05/10/2014, à 19:15
- renaud07
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Salut,
$fichier = file($liste[0]);
?
Merci beaucoup ! C'est exactement ça Et le pire c'est que je n'avais même pas pensé à rajouter le [0], comme quoi, un tout petit rien oublié et ça ne fonctionne pas
Maintenant il ne reste plus que la partie formatage et j'aurais terminé
Aurais-tu une petite idée ?
PS : voici le code pour le moment :
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
// Définit le fuseau horaire à l'heure française
date_default_timezone_set('Europe/Paris');
// Affiche la date et l'heure qui sera traitée
//echo date('l jS \of F Y h:i:s A');
//fichier le plus récent
$liste = glob('C:\AudioLog\Histo_OR3_Diffuseurs\Zone_00\*.Log');
rsort($liste);
//echo 'dernier fichier : ' . $liste[0];
// Selection du fichier
$fichier = file($liste[0]);
// Selection derniere ligne
$tab = $fichier;
$der_ligne = $tab[count($tab)-1];
//echo $der_ligne;
// Ouverture du fichier en mode écriture
$cheminTitre = 'C:\AudioLog\titrage.txt';
$titre = fopen($cheminTitre, 'w+');
// On ajoute la chanson dans le fichier
fputs($titre, $der_ligne);
// On ferme et enregistre le fichier
fclose($titre);
?>
Dernière modification par renaud07 (Le 05/10/2014, à 19:35)
Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits
Hors ligne
#5 Le 05/10/2014, à 19:43
- tiramiseb
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Je ne sais pas. Je suis mauvais en PHP...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 05/10/2014, à 19:54
- renaud07
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Je ne sais pas. Je suis mauvais en PHP...
Ah ok, dommage, bon ben je vais attendre voir si quelqu'un d'autre sait
Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits
Hors ligne
#7 Le 05/10/2014, à 21:44
- renaud07
Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable
Grâce au forum developpez.net j'ai eu la réponse. En fait, ça se fait en 2 lignes (je ne pensais pas que c'était aussi simple) ! :
$values = explode(':', $der_ligne);
$chanson = trim($values[3]) . ' - ' . trim($values[4]);
Et donc voici le script complet 100% fonctionnel si ça intéresse quelqu'un :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NOM RADIO</title>
<!-- Rafraichissement de la page toutes les 15 secondes -->
<meta http-equiv="refresh" content="2" />
<!-- Feuille de style -->
<style type="text/css">
body {
font-family : Arial;
width : 900px;
background-color : #034A79;
margin : 50px auto 0;
}
div {
-moz-border-radius : 8px 8px 8px 8px;
-moz-box-shadow : 0 0 50px black;
background-color : #E0EFF6;
border : 1px solid #599CD4;
padding : 20px;
color : #19B300;
font-weight : bold;
text-align : center;
}
span {
display : block;
color : #005A88;
margin-bottom : 25px;
}
</style>
</head>
<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
// Définit le fuseau horaire à l'heure française
date_default_timezone_set('Europe/Paris');
// Affiche la date et l'heure qui sera traitée
//echo date('l jS \of F Y h:i:s A');
//fichier le plus récent
$liste = glob('C:\AudioLog\Histo_OR3_Diffuseurs\Zone_00\*.Log');
rsort($liste);
//echo 'dernier fichier : ' . $liste[0];
// Selection du fichier
$fichier = file($liste[0]);
// Selection derniere ligne
$tab = $fichier;
$der_ligne = $tab[count($tab)-1];
//echo $der_ligne;
// formatage chanson - interprète
$values = explode(':', $der_ligne);
$chanson = trim($values[3]) . ' - ' . trim($values[4]);
// Ouverture du fichier en mode écriture
$cheminTitre = 'C:\AudioLog\titrage.txt';
$titre = fopen($cheminTitre, 'w+');
// On ajoute la chanson dans le fichier
fputs($titre, $chanson);
// On ferme et enregistre le fichier
fclose($titre);
?>
<?php
// Affichage de la dernière actualisation pour le titrage
setlocale (LC_TIME, 'fr_FR.utf8','fra');
$heures = strftime("%H");
$heure = $heures.strftime("h%M et %S secondes");
$actualisation = ucfirst(strftime("%A %d %B à $heure"));
echo "
<div>
<h2>Dernière actualisation pour le titre</h2>
<span>$actualisation</span>
NE PAS FERMER CETTE FENÊTRE
</div>
";
?>
</body>
</html>
Dernière modification par renaud07 (Le 05/10/2014, à 21:46)
Fixe : AMD FX 8350 4Ghz - Asus M5A97 R2.0 - nVidia GT610 - RAM 8 Go - triple boot Ubuntu 18.04 MATE 64 bits / Manjaro MATE 17 64 bits / Windows 7 64 bits
Portable : Dell vostro 3550 - Intel core i5 2410M 2.30Ghz - HD Gaphics 3000 - RAM 4 Go - dualboot Xubuntu 18.04 64 bits / Windows 7 64 bits
Hors ligne