2010-10-07 227 views
3

我有一個PHP腳本,說a.php,這是從JS使用Ajax調用(這是一個POST請求和一些數據傳遞給腳本)。如何從另一個PHP腳本調用PHP腳本?

我有另一個PHP腳本,說b.php,從中我想打電話給a.php並傳遞一些數據。我希望a.php能夠完成這項工作,就像從JS調用它一樣。

我不想做include('a.php');因爲變量名之間可能發生衝突。

我該怎麼做?

+0

我一會兒前解決這個問題......最終我選擇了不同的方法,因爲有太多的妥協。 http://stackoverflow.com/questions/3471930/how-to-sandbox-a-request-to-another-php-script – JKS 2010-10-07 23:17:21

回答

3

你爲什麼不把它們放在一起作爲函數,使用include,並像在C++中那樣調用它們? Global is bad.

+1

你是對的,我需要重新組織我的代碼......謝謝! – 2010-10-08 04:45:06

1

您可以使用curlfile_get_contents通過HTTP調用它。但我認爲你應該考慮重新設計。無論您是使用程序編寫代碼還是使用OOP代碼,都應該可以在沒有衝突的情況下擁有多文件程序。

0

一種方法是將b.php的服務器請求與a.php的URL進行通信,該URL通常由客戶端使用。

1

如果您使用PHP 5.3,則可以使用Namespaces來避免變量名稱衝突問題。

另一個建議是重構你的代碼,這樣你可以包含該文件,然後調用一個函數來執行它。函數調用中的所有變量只有函數的作用域。

2

一個解決方案(如果不完美)是使用file_get_contents()與URL。

所以,像這樣:

$data = file_get_contents('http://domain.com/a.php?this=that&that=this'); 
$json = json_decode($data);