8791 sujets

Développement web côté serveur, CMS

Bonjour,

Ma question est dans le titre du sujet, je vous explique :

J'ai trouvé récemment un petit lecteur open source flash gratuit (NiftyPlayer) qui ne lis que du mp3.

Mon objectif est de créer une page comportant un formulaire, permettant d'envoyer un fichier son (au format wav par exemple) et d'en assurer la conversion en mp3 sur le serveur.

N'ayant pas un niveau très élevé en php, je souhaiterais connaître votre point de vue sur la question ^^.

Merci de m'avoir lu, je vous souhaite une agréable journée Smiley cligne
Salut,

A ma connaissance, il n'y a rien de tel en PHP. Par contre, il existe des outils sous linux qui permettent de faire cela en ligne de commande (lame, notamment), et qu'il est possible d'exécuter depuis PHP...

Ce qui suppose d'avoir les permissions suffisantes sur le serveur pour exécuter le programme, voire l'installer s'il n'est pas disponible. Mais c'est un autre problème Smiley cligne
D'accord,

Merci Thomas Smiley smile j'ai fais mes petites recherches par rapport à ce que tu m'as expliqué.
Donc si j'ai bien compris, il faut que sur mon futur serveur (qui tourne par exemple sur Ubuntu) j'installe les applications nécessaire au codage mp3.

J'ai trouvé ça :
http://www.peips.fr/?p=8

Après, pour le côté php, comment je m'y prend ?
Admettons que je récupère le fichier :


<?php
$dossier = "./temp";
$fichier = $FILES['name'];
//je stocke le fichier dans un dossier "temp"
move_uploaded_file ($_FILES , $dossier );
//je teste l'extension du fichier pour éviter de réencoder du mp3
if(substr($fichier,-3,3)!="mp3"){
//exemple pour encoder de ogg vers mp3
$requete = "ffmpeg -ab 192k -i ".$_FILES['tmp_name']." ".substr($fichier,0,strlen($fichier)-3).".mp3";
exec($requete);
}

?>


Je chercherai éventuellement sur d'autres forum pour corriger mes requêtes au niveau de ffmpeg, et je vous redirais ça. Mais pour ce qui est du php, est-ce que ce que j'ai écris est correct ? Smiley murf
Modifié par openwave (28 Dec 2010 - 18:50)
Oui absolument, Un serveur sous Linux (n'importe quelle distrib) sera un très bon choix.

il faut pour ton script php:
1) Une partie upload pour que l'utilisateur puisse envoyer le fichier sur le serveur
2) Une partie de vérification du fichier afin de vérifier que ce c'est un fichier mp3. Attention, pas uniquement l'extention, mais aussi le type MIME c'est un minimum. regarde la fonction php finfo_file()
3) Execute le script d'encodage sur ton serveur avec la fonction exec() par exemple.

Pour l'encodage en mode console, je ne connais pas très bien les softs dispo, mais cela ne doit pas être difficile à trouver.

Sinon, n'oubli pas de traiter les cas d'erreurs