2010-03-27 11 views

उत्तर

32

आप इसके बजाय file_get_contents का उपयोग कर सकते हैं। यह बहुत आसान है।

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

+1 यह एक सिस्टम कमांड चलाने की कोशिश करने का एक पूरी तरह से स्वीकार्य विकल्प है जिसे अस्वीकार किया जा सकता है पहले स्थान पर। – jasonbar

11

exec समारोह wget को चलाने के लिए इस्तेमाल किया जा सकता:

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

आप wget का उपयोग करने के है, तो आप की तरह कुछ कोशिश कर सकते हैं। मैंने कभी भी अधिक सरल फ़ाइल डाउनलोड के लिए wget का उपयोग नहीं किया है, लेकिन आप फ़ाइल सामग्री को आउटपुट करने के लिए जो भी तर्क देते हैं, उसका उपयोग करेंगे। निष्पादन का दूसरा पैरामीटर/तर्क एक सरणी होगा, और यह सरणी wget के आउटपुट के साथ लाइन से भर जाएगी।

तो तुम कुछ होता है की तरह:

<?php 

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

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

?> 

कार्यकारी के लिए मैन्युअल पृष्ठ शायद बताते हैं इस बेहतर: http://php.net/manual/en/function.exec.php

1

यह काम करता है

<?php 

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

?> 
2

है कि ज्यादातर पर कोशिश मत करो सर्वरर, वे wget जैसे चल रहे आदेशों से अवरुद्ध किया जाना चाहिए! file_get_contents सिर्फ भद्दा आइफ्रेम मेरे मुवक्किल इस और एक त्वरित

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

?> 

बाद में साथ होने पर जोर दिया की जगह है फ़ॉन्ट, छवियों को बदलने और छवियों और iframes आदि .... दूर करने के लिए और अपनी साइट से कहीं बेहतर लग रही है! (हाँ मुझे पता है कि कोड का मेरा बिट शानदार नहीं है लेकिन यह मेरे लिए बड़ा सुधार है और कष्टप्रद स्वरूपण को हटा देता है!)

संबंधित मुद्दे