Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 :

http://php.net/manual/fr/function.readdir.php

http://php.net/manual/fr/function.preg-replace.php

Hors ligne

#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]);

?

Hors ligne

#4 Le 05/10/2014, à 19:15

renaud07

Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable

tiramiseb a écrit :

Salut,

$fichier = file($liste[0]);

?

Merci beaucoup !  C'est exactement ça big_smile 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 roll

Maintenant il ne reste plus que la partie formatage et j'aurais terminé smile

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... smile

Hors ligne

#6 Le 05/10/2014, à 19:54

renaud07

Re : [Résolu] [PHP] chemin d'un fichier sous forme de variable

tiramiseb a écrit :

Je ne sais pas. Je suis mauvais en PHP... smile

Ah ok, dommage, bon ben je vais attendre voir si quelqu'un d'autre sait smile


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