2009-12-30 57 views
0

文件,這可能聽起來不可思議:)調用和執行在PHP

我想「稱之爲」文件(test_2.php)即執行怎麼樣下面的鏈接,當點擊它本來的文件:

<a href="home/test_2.php">click here</a> //this code is currently in test_1.php file 

有沒有辦法做到這一點?

回答

1

我想你的意思是,當你點擊鏈接時,你想讓PHP執行,但你不希望頁面改變/重載。

阿賈克斯是你的朋友在這裏。如果您在使用jQuery JavaScript代碼只有一個行會做到這一點:

$.get('home/test_2.php', function(data, txt){ alert(txt); }); 

jQuery.get documentation.

乾杯瞭解更多關於此功能!

+0

非常好的猜測,harshanth.jr! – Joe

+0

我是心中的老師:D – jrharshath

1

我認爲Curl是你想要的。

0

如果你的服務器支持它,包含()使用http:// URL應該做的伎倆,併產生精確的結果。

如果包含文件系統路徑(例如include /home/sites/www.example.com/test.php),則當前上下文中的文件將爲parsed,該文件可能不是您想要的。

0

你的意思是運行腳本並捕獲它的輸出?爲此我使用以下內容:

/** 
    *  Execute a php file and return it's output. 
    *  The file will be executed in the script's context. 
    *  It is not sandboxed in any way and it can access the global scope. 
    * 
    *  @param string $file   The file to execute. 
    *  @param array &$context  An optional array of name=>value 
    *      pairs to define additional context. 
    *  @return string The file's output. 
    */ 
    function execFile($file, &$context=NULL) 
    { 
      if(is_array($context)) 
      { 
        extract($context, EXTR_SKIP); 
      } 

      ob_start(); 
      include $file; 
      $ret = ob_get_contents(); 
      ob_end_clean(); 
      return $ret; 
    } 

要小心你給這個函數。