2010-03-27 20 views

Trả lời

32

Thay vào đó, bạn chỉ có thể sử dụng file_get_contents. Dễ dàng hơn nhiều.

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

Nếu bạn phải sử dụng wget, bạn có thể thử một cái gì đó như:

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

+1 Đó là một sự thay thế hoàn toàn có thể chấp nhận được khi chạy lệnh hệ thống. địa điểm đầu tiên. – jasonbar

11

Các exec chức năng có thể được sử dụng để chạy wget. Tôi đã không bao giờ được sử dụng wget cho nhiều hơn sau đó tải tập tin đơn giản nhưng bạn sẽ sử dụng bất cứ đối số bạn cung cấp cho wget để làm cho nó đầu ra nội dung tập tin. Tham số/đối số thứ hai của exec sẽ là một mảng, và mảng này sẽ được lấp đầy từng dòng với đầu ra của wget.

Vì vậy, bạn sẽ có một cái gì đó như:

<?php 

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

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

?> 

Các trang hướng dẫn cho exec lẽ giải thích điều này tốt hơn: http://php.net/manual/en/function.exec.php

1

Nó hoạt động

<?php 

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

?> 
2

Đừng cố gắng mà trên hầu hết các serversr, chúng sẽ bị chặn khi chạy các lệnh như wget! file_get_contents vừa thay thế iframe crappy khách hàng của tôi khăng khăng đòi phải với điều này và một cách nhanh chóng

<?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; 

?> 

sau để thay đổi font chữ, hình ảnh và loại bỏ hình ảnh và iframe vv .... và trang web của tôi đang tìm kiếm tốt hơn hơn bao giờ hết! (Có, tôi biết chút ít mã của tôi không phải là tuyệt vời nhưng đó là một cải tiến lớn đối với tôi và loại bỏ các định dạng khó chịu!)

Các vấn đề liên quan