2010-03-27 3 views

Répondre

32

Vous pouvez simplement utiliser file_get_contents à la place. C'est beaucoup plus facile.

echo file_get_contents('http://www.google.com'); 

Si vous devez utiliser wget, vous pouvez essayer quelque chose comme:

$url = 'http://www.google.com'; 
$outputfile = "dl.html"; 
$cmd = "wget -q \"$url\" -O $outputfile"; 
exec($cmd); 
echo file_get_contents($outputfile); 
+8

+1 C'est une alternative parfaitement acceptable pour essayer d'exécuter une commande système qui peut être interdite dans le première place. – jasonbar

11

La fonction exec peut être utilisé pour exécuter wget. Je n'ai jamais utilisé wget pour plus de téléchargements de fichiers simples mais vous utiliseriez tous les arguments que vous donniez à wget pour que le contenu du fichier soit édité. Le second paramètre/argument de exec sera un tableau, et ce tableau sera rempli ligne par ligne avec la sortie de wget.

Vous auriez quelque chose comme:

<?php 

exec('wget http://google.com/index.html -whateverargumentisusedforoutput', $array); 

echo implode('<br />', $array); 

?> 

La page de manuel pour exec explique sans doute cela mieux: http://php.net/manual/en/function.exec.php

1

Il fonctionne

<?php 

    system("wget -N -O - 'http://google.com") 

?> 
2

Ne pas essayer le plus serversr, ils devraient être bloqués à l'exécution de commandes comme wget! file_get_contents vient de remplacer merdique iframe mon client a insisté pour avoir avec cela et un

rapide
<?php 

$content = file_get_contents('http://www.mysite.com'); 
$content = preg_replace("/Comic Sans MS/i", "Arial, Verdana ", $content); 
$content = preg_replace("/<img[^>]+\>/i", " ", $content); 
$content = preg_replace("/<iframe[^>]+\>/i", " ", $content); 
$echo $content; 

?> 

plus tard pour modifier la police, des images et supprimer des images et iframes etc .... et mon site est plus beau que jamais! (Oui je sais que mon code n'est pas génial mais c'est une grosse amélioration pour moi et supprime le formatage ennuyeux!)

Questions connexes