begin process at 2012 05 27 19:41:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CRÉATEUR DE PLAYLIST EN PHP GTK

CRÉATEUR DE PLAYLIST EN PHP GTK


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Initié Date de création :15/06/2004 Date de mise à jour :15/06/2004 02:15:06 Vu :4 779

Auteur : scullder

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Voilà, il s'agit d'un de mes premiers scripts (license gnu gpl) que j'ai fait il y a assez longtemps utilisant php-gtk, une fabuleuse extension de php qu'elle est bien :) ( http://gtk.php.net )
Mais de quoi s'agit-il ? et bien cela va vous permettre de créer des fichiers de playlist de mp3 rapidement. Perso, j'ai fait un raccourci sur mon bureau pour la commande : C:/php/php.exe playlist.php
playlist.php contient évidemment le script suivant :

Source

  • <?
  • /////////////////
  • /// PHPlaylist GTmaKer v0.1
  • ///////////////// function make_playlist($homedir,$sous_rep,$name) //////////////////
  • /// permet de créer une playlist
  • /// $homedir => rep à explorer à la recherche de mp3
  • /// $sous_rep => si = 1, on explore les sous répertoire de $homedir et le répertoire $homedir
  • /// si = 0 on explore juste le répertoire $homedir
  • ///$name => nom du fichier
  • ///////////////// fichiers générés testés avec media player classic 6.4.6.5
  • set_time_limit(0);
  • function make_playlist($homedir,$sous_rep,$name)
  • {
  • $dir = openDir($homedir);
  • if (!$fp)
  • {
  • $fp = fopen($name.".m3u",a);
  • }
  • while ($file = readdir($dir))
  • {
  • if($file != "." && $file !="..")
  • {
  • if (is_dir($homedir."/".$file) && $sous_rep == 1)
  • {
  • make_playlist($homedir."/".$file,1,$name);
  • }
  • $ext = substr($file,strlen($file) - 3,strlen($file));
  • $ext = strtolower($ext);
  • if (is_file($homedir."/".$file) && $ext == "mp3")
  • {
  • $zik = $homedir."/".$file;
  • fputs($fp,$zik."\n");
  • }
  • }
  • }
  • closedir($dir);
  • return true;
  • }
  • //// PHP GTK
  • if (!class_exists('gtk')) {
  • if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
  • {
  • dl('php_gtk.dll');
  • $winxp_session = "Scullder";
  • } else {
  • dl('php_gtk.so');
  • }
  • }
  • //// Fonctions gtk
  • function DeleteEventFunction()
  • {
  • return false;
  • }
  • function DestroyFunction()
  • {
  • Gtk::main_quit();
  • }
  • function QuitFunction()
  • {
  • global $window,$chemin,$name,$sousrep,$winxp_session;
  • $dossier = $chemin->get_text();
  • $sous_rep = $sousrep->get_text();
  • $nom = $name->get_text();
  • make_playlist($dossier,$sous_rep,$nom);
  • if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { copy($nom.".m3u","C:/Documents and Settings/".$winxp_session."/Bureau/".$nom.".m3u"); }
  • $window->destroy();
  • }
  • ////
  • $window = &new GtkWindow(GTK_WINDOW_TOPLEVEL);
  • $window->connect('destroy', 'DestroyFunction');
  • $window->connect('delete-event', 'DeleteEventFunction');
  • $window->set_border_width(5);
  • $window->set_title("PHPlaylist GTmaKer v0.1");
  • $window->set_default_size(400, 50);
  • $window->realize();
  • $VerticalBox=&new GtkVBox();
  • $VerticalBox->set_spacing(5);
  • $VerticalBox->set_border_width(0);
  • $HorizontalBox=&new GtkHBox();
  • $HorizontalBox->set_spacing(5);
  • $HorizontalBox->set_border_width(0);
  • $chemin = &new GtkEntry();
  • $name = &new GtkEntry();
  • $sousrep = &new GtkEntry();
  • $Create = &new GtkButton("Chemin - Nom - Explorer les sous-dossiers ? (0-1) => Créer la playlist");
  • $Create->connect('pressed', 'QuitFunction');
  • $HorizontalBox->add($chemin);
  • $HorizontalBox->add($name);
  • $HorizontalBox->add($sousrep);
  • $VerticalBox->add($HorizontalBox);
  • $VerticalBox->add($Create);
  • $window->add($VerticalBox);
  • $window->show_all();
  • Gtk::main();
  • ?>
<?

/////////////////
/// PHPlaylist GTmaKer v0.1
///////////////// function make_playlist($homedir,$sous_rep,$name) //////////////////
/// permet de créer une playlist
/// $homedir => rep à explorer à la recherche de mp3
/// $sous_rep => si = 1, on explore les sous répertoire de $homedir et le répertoire $homedir
///		    si = 0 on explore juste le répertoire $homedir
///$name => nom du fichier
/////////////////  fichiers générés testés avec media player classic 6.4.6.5


set_time_limit(0);

function make_playlist($homedir,$sous_rep,$name)
{

	$dir = openDir($homedir);
	if (!$fp)
	{
		$fp = fopen($name.".m3u",a);
	}
	while ($file = readdir($dir)) 
	{
		if($file != "." && $file !="..")
		{
			if (is_dir($homedir."/".$file) && $sous_rep == 1) 
			{
				make_playlist($homedir."/".$file,1,$name);
			}
			
			$ext = substr($file,strlen($file) - 3,strlen($file));
			$ext = strtolower($ext);
			
			if (is_file($homedir."/".$file) && $ext == "mp3")
			{
				$zik = $homedir."/".$file;
				fputs($fp,$zik."\n");
			}
		}
	}
	closedir($dir);
	return true;
}

//// PHP GTK

if (!class_exists('gtk')) {
	if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
	{ 
		dl('php_gtk.dll');
		$winxp_session = "Scullder"; 
	} else {
		dl('php_gtk.so');
	}
}

//// Fonctions gtk


function DeleteEventFunction()
{
    return false;
}

function DestroyFunction()
{
    Gtk::main_quit();
}

function QuitFunction()
{
    global    $window,$chemin,$name,$sousrep,$winxp_session;
    $dossier = $chemin->get_text();
    $sous_rep = $sousrep->get_text();
    $nom = $name->get_text();
    make_playlist($dossier,$sous_rep,$nom);
    if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { copy($nom.".m3u","C:/Documents and Settings/".$winxp_session."/Bureau/".$nom.".m3u"); }
    $window->destroy();
    
}

////

$window = &new GtkWindow(GTK_WINDOW_TOPLEVEL);
$window->connect('destroy', 'DestroyFunction');
$window->connect('delete-event', 'DeleteEventFunction');
$window->set_border_width(5);
$window->set_title("PHPlaylist GTmaKer v0.1");
$window->set_default_size(400, 50);
$window->realize();


$VerticalBox=&new GtkVBox();
$VerticalBox->set_spacing(5);
$VerticalBox->set_border_width(0);

$HorizontalBox=&new GtkHBox();
$HorizontalBox->set_spacing(5);
$HorizontalBox->set_border_width(0);

$chemin = &new GtkEntry();
$name = &new GtkEntry();
$sousrep = &new GtkEntry();
$Create = &new GtkButton("Chemin - Nom - Explorer les sous-dossiers ? (0-1) => Créer la playlist");
$Create->connect('pressed', 'QuitFunction');

$HorizontalBox->add($chemin);
$HorizontalBox->add($name);
$HorizontalBox->add($sousrep);
$VerticalBox->add($HorizontalBox);
$VerticalBox->add($Create);
$window->add($VerticalBox);

$window->show_all();

Gtk::main();

?>

 Conclusion

un petit screen ici : http://membres.lycos.fr/scullder/scite/SCITE_ROXOR .PNG
dans la première case, on indique le répertoire à explorer, dans la deuxième le nom du fichier de playlist qui peut-être copié sur le bureau (windows only) si on renseigne la variable $winxp_session par le nom de votre session. Dans la troisième, on met 1 si on veut que le repertoire soit exploré recursivement, sinon on met 0. et voilà tout :)


 Sources du même auteur

ASPIRATEUR D'ETAJV
BRUTE FORCE (PETIT MAIS LENT) =)

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

Commentaires et avis

Commentaire de Kirua le 16/06/2004 11:13:43

j'ai tenté d'installer GTK mais j'ai eu des soucis, dsl, j'aurais bien voulu tester et donner un avis :(

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales