par moogli » 18 mars 2013, 21:56
par Sayko » 14 mars 2013, 20:40
$var_fichier2 = $_FILES['addmusic_path']['name']; $var_titre2 = $_POST['addmusic_titre']; $var_artist2 = $_POST['addmusic_artiste']; $var_album2 = $_POST['addmusic_album']; $var_genre2 = $_POST['genre']; $var_date2 = $_POST['addmusic_annee']; $var_number2 = $_POST['addmusic_number']; $var_fichier = "\"$var_fichier2\""; $var_titre = "\"$var_titre2\""; $var_artist = "\"$var_artist2\""; $var_album = "\"$var_album2\""; $var_genre = "\"$var_genre2\""; $var_date = "\"$var_date2\""; $var_number = "\"$var_number2\""; //exec(escapeshellcmd("sh scripts/aj_musique.sh $var_fichier $var_titre $var_artist $var_album $var_genre $var_date $var_number")); //shell_exec ('sh scripts/aj_musique.sh '.$var_fichier.' '.$var_titre.' '.$var_artist.' '.$var_album.' '.$var_genre.' '.$var_date.' '.$var_number); exec(escapeshellcmd("sh scripts/aj_musique.sh $var_fichier $var_titre $var_artist $var_album $var_genre $var_date $var_number"));
#!/bin/bash var_fichier=$1 var_titre=$2 var_artist=$3 var_album=$4 var_genre=$5 var_date=$6 var_number=$7 chemin_musique=../upload/"$var_fichier" extension=${chemin_musique##*.} if [ ! -d /home/xbmc/musique/"$var_artist"/"$var_album" ] then mkdir -p /home/xbmc/musique/"$var_artist"/"$var_album" fi touch /home/xbmc/musique/"$var_artist"/"$var_album"/"$var_titre".nfo echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <music> <title>"$var_titre"</title> <artist>"$var_artist"</artist> <album>"$var_album"</album> <genre>"$var_genre"</genre> <year>"$var_date"</year> <number>"$var_number"</number> </music>" > /home/xbmc/musique/"$var_artist"/"$var_album"/"$var_titre".nfo cp "$chemin_musique" /home/xbmc/musique/"$var_artist"/"$var_album"/"$var_titre"."$extension"
par Sayko » 14 mars 2013, 19:18
par yann18 » 14 mars 2013, 17:46
Merci beaucoup de l'intérêt que tu porte à mon problème Alors j'ai testé ta solution sur un script shell tout simple et ça ne semble plus fonctionner dès qu'il rencontre un espace. <?php $toto = 'test retest'; $tata = 'autre'; $tutu = $toto; $titi = $tata; // Nous autorisons un nombre arbitraire d'arguments de façon intentionnel ici. //exec(escapeshellcmd('sh scripts/test.sh '.$tutu.' '.$titi)); shell_exec("sh scripts/test.sh \"$tutu\" \"$titi\" "); ?> BASH: #!/bin/bash tutu=$1 titi=$2 mkdir -p /home/xbmc/$tutu/$titi touch /home/xbmc/$tutu/$titi/$titi.txt Du coup en sortie j'obtiens une arbo comme présente: /home/xbmc/test/ au lieu de: /home/xbmc/test retest/autre/
<?php $toto = 'test retest'; $tata = 'autre'; $tutu = $toto; $titi = $tata; // Nous autorisons un nombre arbitraire d'arguments de façon intentionnel ici. //exec(escapeshellcmd('sh scripts/test.sh '.$tutu.' '.$titi)); shell_exec("sh scripts/test.sh \"$tutu\" \"$titi\" "); ?>
#!/bin/bash tutu=$1 titi=$2 mkdir -p /home/xbmc/$tutu/$titi touch /home/xbmc/$tutu/$titi/$titi.txt
<?php $toto = "test retest"; $tata = "autre"; //affichera -> "autre" $tutu = "\"$toto\""; $titi = "\"$tata\""; // Nous autorisons un nombre arbitraire d'arguments de façon intentionnel ici. //exec(escapeshellcmd('sh scripts/test.sh '.$tutu.' '.$titi)); shell_exec("sh scripts/test.sh $tutu $titi "); ?>
Code : Tout sélectionner
par Sayko » 14 mars 2013, 16:44
par yann18 » 14 mars 2013, 16:29
par yann18 » 14 mars 2013, 16:21
Bon j'ai compris mon soucis... seulement je ne sais pas comment le résoudre En fait, à chaque fois qu'il y a un espace, il passe à la variable suivante. Et autre soucis, il fait sauter les accents dans mon fichier xml
$var_fichier = $_FILES['addmusic_path']['name']); $var_titre = $_POST['addmusic_titre']; $var_artist = $_POST['addmusic_artiste']; $var_album = $_POST['addmusic_album']; $var_genre = $_POST['genre']; $var_date= $_POST['addmusic_annee']; $var_number= $_POST['addmusic_number']; //exec(escapeshellcmd("sh scripts/aj_musique.sh $var_fichier $var_titre $var_artist $var_album $var_genre $var_date $var_number")); shell_exec("sh scripts/aj_musique.sh \"$var_fichier\" \"$var_titre\" \"$var_artist\" \"$var_album\" \"$var_genre\" \"$var_date\" \"$var_number\" ");
par Sayko » 14 mars 2013, 15:15
$var_fichier = (htmlspecialchars($_FILES['addmusic_path']['name'])); $var_titre = (htmlspecialchars($_POST['addmusic_titre'])); $var_artist = (htmlspecialchars($_POST['addmusic_artiste'])); $var_album = (htmlspecialchars($_POST['addmusic_album'])); $var_genre = (htmlspecialchars($_POST['genre'])); $var_date= (htmlspecialchars($_POST['addmusic_annee'])); $var_number= (htmlspecialchars($_POST['addmusic_number'])); //exec(escapeshellcmd("sh scripts/aj_musique.sh $var_fichier $var_titre $var_artist $var_album $var_genre $var_date $var_number")); shell_exec ('sh scripts/aj_musique.sh '.$var_fichier.' '.$var_titre.' '.$var_artist.' '.$var_album.' '.$var_genre.' '.$var_date.' '.$var_number);
#!/bin/bash var_fichier=$1 var_titre=$2 var_artist=$3 var_album=$4 var_genre=$5 var_date=$6 var_number=$7 chemin_musique=../upload/$var_fichier extension=${chemin_musique##*.} if [ ! -d /home/xbmc/musique/$var_artist/$var_album ] then mkdir -p /home/xbmc/musique/$var_artist/$var_album fi touch /home/xbmc/musique/$var_artist/$var_album/$var_titre.nfo echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <music> <title>"$var_titre"</title> <artist>"$var_artist"</artist> <album>"$var_album"</album> <genre>"$var_genre"</genre> <year>"$var_date"</year> <number>"$var_number"</number> </music>" > /home/xbmc/musique/$var_artist/$var_album/$var_titre.nfo cp $chemin_musique /home/xbmc/musique/$var_artist/$var_album/$var_titre.$extension
$var_fichier = 02 - Psychotic euphoric.mp3 $var_titre = Psychotic Euphoric $var_artist = Silent Desent $var_album = Mind Games $var_genre = Métal $var_date = 2012 $var_number = 2 //Deuxième chanson de l'album
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <music> <title>Psychotic euphoric</title> <artist>Silent Descent</artist> <album>Minds Games</album> <genre>Métal</genre> <year>2012</year> <number>2</number> </music>
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <music> <title>-</title> <artist>Psychotic</artist> <album>euphoric.mp3</album> <genre>Psychotic</genre> <year>Euphoric</year> <number>Silent</number> </music>
par Sayko » 14 mars 2013, 13:51
par yann18 » 14 mars 2013, 13:28
Ben je comprends pas car là ma syntaxe fonctionnait, bon j'essaye la tienne
par Sayko » 14 mars 2013, 12:45
$var_fichier = $_FILES['addmusic_path']['name']; $var_titre = $_POST['addmusic_titre']; $var_artist = $_POST['addmusic_artiste']; $var_album = $_POST['addmusic_album']; $var_genre = $_POST['genre']; $var_date=$_POST['addmusic_annee']; $var_number= $_POST['addmusic_number']; exec(escapeshellcmd("sh scripts/aj_musique.sh $var_fichier $var_titre $var_artist $var_album $var_genre $var_date $var_number"));
#!/bin/bash var_fichier=$1 chemin_musique=../upload/$var_fichier extension=${chemin_musique##*.} var_titre=$2 var_artist=$3 var_album=$4 var_genre=$5 var_date=$6 var_number=$7 if [ ! -d /home/xbmc/musique/$var_artist/$var_album ] then mkdir -p /home/xbmc/musique/$var_artist/$var_album fi touch /home/xbmc/musique/$var_artist/$var_album/$var_titre.nfo echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <music> <title>"$var_titre"</title> <artist>"$var_artist"</artist> <album>"$var_album"</album> <genre>"$var_genre"</genre> <year>"$var_date"</year> <number>"$var_number"</number> </music>" > /home/xbmc/musique/$var_artist/$var_album/$var_titre.nfo cp $chemin_musique /home/xbmc/musique/$var_artist/$var_album/$var_titre.$extension
par yann18 » 14 mars 2013, 12:42
Merci pour ta réponse Bon j'arrive a récupérer les valeurs à présent avec un script très basique, mais je n'arrive pas à faire fonctionner mon script définitif. php: <?php $toto = 'test'; $tata = 'prout'; $tutu = $toto; $titi = $tata; exec(escapeshellcmd('scripts/test.sh '.$tutu.' '.$titi)); ?> bash: Code : Tout sélectionner#!/bin/bash tutu=$1 titi=$2 mkdir -p /home/xbmc/$tutu/$titi Et voila ce que je cherche à faire fonctionner: php: bash:
<?php $toto = 'test'; $tata = 'prout'; $tutu = $toto; $titi = $tata; exec(escapeshellcmd('scripts/test.sh '.$tutu.' '.$titi)); ?>
#!/bin/bash tutu=$1 titi=$2 mkdir -p /home/xbmc/$tutu/$titi
<?php $toto = 'test'; $tata = 'prout'; $tutu = $toto; $titi = $tata; exec(escapeshellcmd("sh scripts/test.sh $tutu $titi")); ?>
par yann18 » 14 mars 2013, 12:34
en ligne de commande: sh nomDuScript.sh toto hello
par Sayko » 14 mars 2013, 12:25
$var_fichier = $_FILES['addmusic_path']['name']; $var_titre = $_POST['addmusic_titre']; $var_artist = $_POST['addmusic_artiste']; $var_album = $_POST['addmusic_album']; $var_genre = $_POST['genre']; $var_date=$_POST['addmusic_annee']; $var_number= $_POST['addmusic_number']; exec(escapeshellcmd('scripts/aj_musique.sh '.$var_fichier.' '.$var_titre.' '.$var_artist.' '.$var_album.' '.$var_genre.' '.$var_date.' '.$var_number));
par xTG » 14 mars 2013, 06:25