Page 1 sur 1

id3_set_tag

Posté : 05 janv. 2013, 23:25
par Doubrovski
Bonjour,

Je passais souvent ici il y a quelques années, je profite d'un nouveau problème pour redécouvrir le forum.

J'aimerais utiliser la fonction id3_set_tag sur un nouveau site.
Je stocke des compositions musicales avec l'aide d'une base de donnée, et j'aimerais ne pas avoir à modifier à chaque fois les propriétés des mp3 sur mon ordinateur avant de les publier. Je souhaiterais modifier les tags des mp3 via PHP. Mais j'ai l'impression que la fonction n'est pas disponible sur mon serveur mutualisé.

Le code :
/* MODIFICATION DES TAGS DU MP3 */
				$data = array(
							  "title" => $nom,
							  "artist" => $groupe,
							  "album" => $album,
							  "year" => $annee
							 );
				$result = id3_set_tag('./url/fichier.mp3', $data, ID3_V1_0 );
				if ($result === true) {
					echo '<p>OK | Tag modifié.</p>';
				}
				
			}
La réponse :
Fatal error: Call to undefined function id3_set_tag() in /url/page.php on line 268
Je ne comprends pas grand chose à l'installation d'extensions PECL et je doute que ce soit possible sur un serveur mutualisé.
Y-at-il une alternative ?

Merci !

Re: id3_set_tag

Posté : 06 janv. 2013, 11:16
par moogli
Salut,

Effectivement il y a peu de chance que ton hébergeur ai ce type d'extension ;) (rien qu'en utilisation mémoire ça doit les faire chier ;) ) mais tu peux toujours demander ;)

En cherchant sur Google je suis tombé la dessus : http://www.getid3.org/ il y a peux être ton bonheur (il y a ne classe php mais qui semble dépendante de l'extension id3....

@+

Re: id3_set_tag

Posté : 06 janv. 2013, 12:40
par Doubrovski
Merci ! Héhé, c'est une usine à gaz :)
En principe cet exemple est fait pour, mais je n'ai pas réussi à m'en servir...
J'obtiens toujours des erreurs après avoir supprimé la ligne "die". Je vais creuser encore un peu.

Re: id3_set_tag

Posté : 06 janv. 2013, 13:02
par moogli
erreur sur le require ?

il faut toute la "distrib" pour que cela fonctionne ;)



@+

Re: id3_set_tag

Posté : 06 janv. 2013, 13:18
par Doubrovski
Oui, j'ai toute la distrib sur mon serveur.

Quand j'utilise l'exemple demo.write.php j'obtiens une erreur :

Code : Tout sélectionner

magic_quotes_gpc is enabled, getID3 will not run.
Quand j'utilise l'exemple simple.write.php c'est le fichier test qui semble poser problème.

Code : Tout sélectionner

Failed to write tags! filename set to non-existant file "P:/webroot/_dev/getID3/testfiles/_writing/2011-02-02/test.mp3" in getid3_writetags
Donc je mets un mp3 test sur mon serveur et remplace les adresses par ../../musiques/test.mp3
J'obtiens cette erreur :

Code : Tout sélectionner

Fatal error: Uncaught exception 'Exception' with message '$this->overwrite_tags=false is known to be buggy in this version of getID3. Will be fixed in the near future, check www.getid3.org for a newer version.' in /url/www/getid3-1.9.4b1-20121005/getid3/write.php:422 Stack trace: #0 /url/www/getid3-1.9.4b1-20121005/getid3/write.php(564): getid3_writetags->MergeExistingTagData('id3v2', Array) #1 /url/www/getid3-1.9.4b1-20121005/getid3/write.php(284): getid3_writetags->FormatDataForID3v2(3) #2 /url/www/getid3-1.9.4b1-20121005/demos/demo.simple.write.php(51): getid3_writetags->WriteTags() #3 {main} thrown in /url/www/getid3-1.9.4b1-20121005/getid3/write.php on line 422

Re: id3_set_tag

Posté : 06 janv. 2013, 14:19
par moogli
1/ désactive les magicquote => iniset
2/ Effectivement indique un nom de fichier existant dans le path (p: c'est assez rare ;) )
3/ le truc est buggé dans la version que tu utilise :) (enfin c'est eux qui le disent :mrgreen: donc rien a faire ;)


@+

Re: id3_set_tag

Posté : 06 janv. 2013, 14:37
par Perine
ini_set() ne permet pas de désactiver magic_quotes en runtime, car ces données sont traitées avant que le code PHP ne soit interprété. Il faut les désactiver à la racine : soit directement dans le fichier php.ini, soit par .htaccess si le serveur le permet.
D'ailleurs, si tu es chez un hébergeur qui active toujours magic_quotes en 2013 par défaut, à ta place, je changerais d'hébergeur aussi vite que possible.

Re: id3_set_tag

Posté : 06 janv. 2013, 15:03
par moogli
effective c'était en php en php4 que l'on pouvait le faire avec ini_set.

beaucoup d'hébergeur garde ce type de configuration pour éviter les problèmes de rétro compatibilité sur des scripts assez vieux (idem pour le register globals etc etc) ;)

(il y a toujours des hébergeur qui propose php4 ...)

@+

Re: id3_set_tag

Posté : 06 janv. 2013, 21:55
par Doubrovski
Merci,
Bon je crois que je vais me contenter d'un logiciel pour changer les tags ;)