Wget avec exec() ( PHP )

[Résolu/Fermé]
Signaler
-
 moine-face -
Salut
j'ai un souci avec la commande wget lancée via la commande exec() de PHP , Voila la source :
<?php

$url= "/*****/****/******/*******/www/test.mp3";
$cmd = "/usr/bin/wget http://www.*****.com/****/Track 04.mp3 -O ".$url;
exec ($cmd);
?>


le fichier test.mp3 est bien crée mais il est Vide !
J'ai cherché partout mais sans solution !

4 réponses

Messages postés
11760
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
8 août 2019
2 294
Essaye la commande dans un terminal, elle doit renvoyer une erreur (HTTP 404 ou 403 par exemple). Dans ce cas le fichier en sortie est créé quand-même mais il est vide.

En faisant un script plus pointu -mais qui éviterait de futurs soucis- tu pourrais vérifier avant de lancer le dl si le fichier existe et si tu as les autorisations nécessaires.
et bien je vien de tester sur un terminal et ça marche tres bien !! pour je pense pas avoir d'erreurs de syntaxe dans mon script !!!
Messages postés
11760
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
8 août 2019
2 294
Il faut faire gaffe à l'espace aussi :
$cmd = "/usr/bin/wget 'http://www.*****.com/****/Track 04.mp3' -O ".$url;
salut ,
Merci YOAN pour la remarque mais je viens de régler le problème !
le truc étais que la syntaxe devais être exactement :
wget "http://www.*****.com/*****/test123.mp3" -O "/*****/*****/******/www/test1234.mp3"

je veux dire , avec le lien et le path entre guillemets

voila ce qui me fais en PHP ( en version fini ) :


<?php
if(isset($_POST['path']) && isset($_POST['url']))
{

$path = $_POST['path'];
$url = $_POST['url'];
$cmd = "wget \"$url\" -O \"$path\"";
exec ($cmd);
echo" La commande a bien été exécutée : $cmd ";
}
print "<form action=\"$PHP_SELF\" method=post>
Lien (URL)  : <input name=url><br>
Path Complet: <input name=path><br>
<input type=submit value=\"envoyer\">";

?>


Un petit script d'upload Par "wget" ^^ .
Merci Encore , Portez vous bien