Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

wget not working when called from exec() or shell_exec()

I am trying to integrate a wget command I have written into a php script. The command recursively downloads every html/php file on a website (which is required functionality that I haven't found in file_get_contents()). I have tested the wget command in a terminal window, but when executing it using either exec() or shell_exec() nothing happens. I don't get any errors, or warnings.

Here is the command in question,

wget --recursive -m --domains oooff.com --page-requisites --html-extension --convert-links -R gif,jpg,pdf http://www.oooff.com/

I have tried simple wget commands (not as many parameters) from exec(), and shell_exec(), but they also don't work.

If wget isn't an option, I am open to using some other method of downloading a website in it's entirety.

My code that I have now is,

exec("wget google.com", $array);

Then when printing the array it is empty

like image 866
Jfonts Avatar asked Feb 20 '26 08:02

Jfonts


2 Answers

I had to specify a path to wget. New command:

exec("/usr/local/bin/wget google.com", $array);
like image 122
Jfonts Avatar answered Feb 21 '26 21:02

Jfonts


invoke wget with proper options

-q to remove it s information output
-O - to output the request response on stdout

php -r 'exec("wget -q -O - google.com", $array);var_dump($array);'

Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!