2010-02-13 16 views
8

बहुत सरल php सवाल,कैसे एक php पेज

उदाहरण के लिए

से पाठ लौटे पाने के लिए, demo.php जैसे यह "हैलो" एक पाठ देता है।

मैं इस पाठ को किसी अन्य PHP पृष्ठ से कैसे प्राप्त कर सकता हूं?

अद्यतन:

वास्तव में मेरा मतलब पेज इस तरह यह outputting है "प्रिंट 'हैलो',"

+0

अहमेट, इस मामले में आपके स्वीकृत उत्तर को बदल दें। मेरा मानना ​​है कि मेरे जवाब में समाधान है। –

उत्तर

7

क्या यह return "hello" है, क्या यह आउटपुट करता हैhello या यह बस हैhello? सभी तीन परिदृश्य अलग-अलग समस्याएं हैं।


यदि यह return "hello"; जैसे:

<?php 
$fileValue = include('secondFile.php'); 

यह हैं:

<?php 
return "hello"; 

तो आप आसानी से फ़ाइल सहित और वापसी मान हथियाने द्वारा अपने मूल्य प्राप्त कर सकते हैं आउटपुटhello जैसे:

<?php 
echo "hello"; // or print "hello"; 

आप उत्पादन बफरिंग का उपयोग परिणाम कब्जा करने के लिए करना होगा:

hello 

आप बस परिणाम पढ़ सकते हैं:

<?php 
ob_start(); 
include('secondFile.php'); 
$fileValue = ob_get_contents(); 
ob_end_clean(); 

यदि यह hello जैसे शामिल हैं:

<?php 
$fileValue = file_get_contents('secondFile.txt'); 

भी देखें:

+0

आउटपुट "हैलो" हाँ –

+0

वाह, अद्भुत जवाब, बहुत अच्छा;) – Daan

2

संपादित करें: मैंने शुरुआत में माना था कि एक स्क्रिप्ट पर file_get_contents निष्पादित करने से आउटपुट (और कोड नहीं) होगा। आप उत्पादन चाहते हैं, आप पूर्ण URL निर्दिष्ट करना होगा:

$str = file_get_contents("http://example.com/demo.php"); 

http://php.net/manual/en/function.file-get-contents.php

यह शायद बेहतर होगा यदि आप और अधिक विस्तृत जवाब में से एक स्वीकार कर लिया।

इसके अलावा, नीचे देखें:

+0

दोह, यह "उस मान को लौटाता है" के रूप में "इसमें केवल उस स्ट्रिंग को शामिल किया गया है"? :) –

+0

मेरी समझ थी 'demo.php का आउटपुट स्ट्रिंग "हैलो" है। – karim79

+0

लेकिन वह demo.php का पूरा स्रोत कोड लाएगा, है ना? –

0

पाठ w दिया जाता है कमांड लाइन

  • से

    • भागो पीएचपी या अपने वेब सर्वर के माध्यम से पृष्ठ कहते हैं - जो है आप आम तौर पर करते करेंगे कि कौन-: जिसका मतलब है कि आप के लिए या तो - मुर्गी पीएचपी पेज व्याख्या करता है।

      $content = file_get_contents('http://www.yoursite.com/demo.php'); 
      
      :


    दूसरे मामले में, आप एक HTTP अनुरोध परिणाम है, जो file_get_contents(यदि allow_url_fopen विन्यास निर्देश सक्षम है) उपयोग किया जा सकता भेज सकते हैं और लाने के लिए की जरूरत है


    एक और समाधान, विशेष रूप से उपयोगी जब allow_url_fopen अक्षम है, कर्ल का उपयोग करना है; उदाहरण के लिए curl_exec फ़ंक्शन के पृष्ठ पर उदाहरण देखें।

  • +0

    -1: url के साथ' file_get_contents()' का उपयोग न करें। सुरक्षा कारणों से 'allow_url_fopen' अनुशंसित सेटिंग बंद है। इसे इस तरह रखने के लिए सर्वोत्तम अभ्यास की सिफारिश की जाती है। –

    +0

    @Andrew: मुझे URL के साथ 'file_get_contents' * (और अन्य फ़ंक्शंस) * का उपयोग करना पसंद है, और ऐसा करने में कोई समस्या नहीं थी ;; 'allow_url_fopen' डिफ़ॉल्ट रूप से सक्षम प्रतीत होता है * (देखें http://www.php.net/manual/en/filesystem.configuration.php) * ;; दूसरी तरफ, मैं 'आवश्यकता'/'शामिल 'के लिए यूआरएल-एक्सेस का उपयोग नहीं करता, जिसका अर्थ है कि मैं' allow_url_include 'निर्देश अक्षम कर दूंगा, जो इसका डिफ़ॉल्ट मान भी है। –

    +0

    @ पास्कल मार्टिन: अगर 'allow_url_include' अक्षम है, तो' allow_url_fopen' होने से भी आपकी वेबसाइट XSS हमलों के लिए उचित इनपुट सत्यापन के बिना कमजोर हो सकती है। ** PHP सुरक्षा कंसोर्टियम ** वेबसाइट पर 'allow_url_fopen' के बारे में निम्न पृष्ठ देखें: http://phpsec.org/projects/phpsecinfo/tests/allow_url_fopen.html –

    2

    "रिटर्न हैलो" से आपका क्या मतलब है?

    यह वास्तव में

    return "hello"; 
    

    में के रूप में यह देता है, तो आप इस तरह बस मूल्य प्राप्त कर सकते हैं:

    $var = include 'demo.php' 
    

    अगर यह echo तों कि बजाय महत्व देते हैं, आप इसके उत्पादन पढ़ सकते हैं:

    $var = file_get_contents("http://host/demo.php"); 
    
    +0

    -1: यूआरएल के साथ 'file_get_contents() 'का उपयोग न करें। सुरक्षा कारणों से 'allow_url_fopen' अनुशंसित सेटिंग बंद है। इसे इस तरह रखने के लिए सर्वोत्तम अभ्यास की सिफारिश की जाती है। –

    +0

    मैं इस सिफारिश पर सहमत नहीं हूं, विन्यास चर केवल बेबीसिट खराब डेवलपर्स के लिए सेट नहीं किया जाना चाहिए। 'allow_url_fopen' सुविधाजनक है और स्वयं ही कोई नुकसान नहीं करता है। आप सभी चीजों को बंद करने के साथ भी असुरक्षित कोड लिख सकते हैं। –

    1

    file_get_contents सबसे सरल उपाय तथापि कर्ल और अधिक कुशल है। यह तेज़, अधिक सुरक्षित और अधिक लचीला है।

    function file_get_contents_curl($url){ 
        $ch = curl_init(); 
        curl_setopt($ch,CURLOPT_URL,$url); 
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,1); 
        $content = curl_exec($ch); 
        curl_close($ch); 
        return $content; 
    } 
    
    $page = file_get_contents_curl('demo.php'); 
    
    संबंधित मुद्दे