file_get_contents() là một hàm có chức năng là đọc nội dung từ 1 file và chuyển nó sang dạng chuỗi, nó thường được sử dụng để lấy nội dụng những trang web trên mạng, tuy nhiên có một số server đã vô hiệu hóa chức năng này , và khi đó nếu bạn sử dụng hàm file_get_contents() hayfile() thì bạn sẽ gặp lỗi như thế này :
Warning: file_get_contents(http://izwebz.com/index.php) [function.file-get-contents]: failed to open stream: HTTP request failed!
Để giải quyết vấn đề này thì bạn có thể sử dụng cURL trong php để thay thế , đoạn code sau sẽ giúp bạn hiểu và giải quyết vấn đề này :
– Code trước khi sửa :
<?php
$file_contents = file_get_contents('http://example.com/');
// display file
echo $file_contents;
?>
– Code sau khi sửa :
<?php
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://example.com');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
// display file
echo $file_contents;
?>
Mặc dù cách sử dụng cURL có vẻ hơi dài dòng và khó hiểu, nhưng nó có thể chạy tốt trên nhiều server khác nhau, bạn hãy tự tìm hiểu và khám phá xem sao nha.