第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP中是否有辦法通過(guò)URL的取得其返回?

PHP中是否有辦法通過(guò)URL的取得其返回?

呼啦一陣風(fēng) 2019-04-10 20:47:56
例如這里是一個(gè)a.php:而b.php,從用戶輸入得到了一個(gè)URL,正好是/a.php?b:assert($_GET["wanted"]==='/a.php?b');//是否存在一個(gè)方法whatever,令:$result=whatever($_GET["wanted"]);echostrtoupper($result);//THESE'SA"B".這些答案是不接受的:file_get_contents()或fopen()發(fā)起遠(yuǎn)程請(qǐng)求:服務(wù)器未必Listen了localhost,域名也是不確定的,并且發(fā)起遠(yuǎn)程請(qǐng)求開(kāi)銷太大.重定向:得到返回內(nèi)容以后還要進(jìn)一步處理.include或require_once:實(shí)際情況可能很復(fù)雜,包括urlmapping等等,根本不知道include哪個(gè)文件.另外這個(gè)URL還有可能是靜態(tài)文件.更新20140511:貌似因?yàn)槲铱桃怆[藏項(xiàng)目中的問(wèn)題,所以很難讓人清楚,非常抱歉.簡(jiǎn)單來(lái)說(shuō),我就是希望能得到whatever()的一種實(shí)現(xiàn).我在項(xiàng)目中遇到的問(wèn)題是這樣的.一個(gè)網(wǎng)頁(yè),HTML中有一些JS和CSS的資源,可以直接行內(nèi)展開(kāi).如果JS和CSS全部是靜態(tài)這樣好辦,直接讀入文件然后用正則替換上去就是了.然而某些JS是需要根據(jù)用戶輸入動(dòng)態(tài)生成的,這樣就必須要請(qǐng)求到這些PHP生成的JS,然后再替換上去.項(xiàng)目中將所有url都Rewrite到index.php,然后在index.php做urlmapping.包括當(dāng)前的網(wǎng)頁(yè),和希望得到內(nèi)容的JS,都通過(guò)index.php然后再生成.
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

好像沒(méi)太明白題主在問(wèn)什么,剛開(kāi)始我是這么想題主是想知道是不是存在一個(gè)PHP腳本,在不請(qǐng)求任何遠(yuǎn)程資源的情況下,得到請(qǐng)求的響應(yīng)內(nèi)容。
然后自己呵呵了。
后來(lái)想,可能題主想問(wèn)的是,如果在同一臺(tái)服務(wù)器上,有這么一個(gè)可訪問(wèn)的資源,但是呢,目前只有建立一個(gè)HTTP連接訪問(wèn)一下才能知道其內(nèi)容,好像這樣開(kāi)銷挺大,那能不能不建立HTTP連接,而通過(guò)一個(gè)什么本地的方式得到結(jié)果呢?
真頭疼,感覺(jué)處處是模棱兩可的概念和沒(méi)有弄明白的道理。
開(kāi)始認(rèn)真答題:
實(shí)際上這是一個(gè)邏輯問(wèn)題,題主仔細(xì)分析一下就可以知道,但是,所謂/a.php?b的訪問(wèn)結(jié)果,并不僅僅由a.php本身所決定。例如,如果不經(jīng)過(guò)PHP解釋器,訪問(wèn)/a.php?b的結(jié)果在默認(rèn)情況下*是其腳本文本本身。訪問(wèn)一個(gè)HTTP的資源,取決于你的HTTP服務(wù)器根據(jù)接受到的請(qǐng)求去輸出什么內(nèi)容。那么可以很容易明白的是,不同的HTTP服務(wù)器、不同的配置、不同的代碼都將產(chǎn)生不同的結(jié)果。所以為了每次都能獲得題主預(yù)想的內(nèi)容,戲還得做全套(這好像是個(gè)信息論的什么結(jié)論來(lái)著,誰(shuí)可以幫忙補(bǔ)充一下)。當(dāng)然,如果題主知道了一些前提條件,在可控的情況下簡(jiǎn)化一些中間步驟說(shuō)不定也可以得到100%的結(jié)果呢。
為什么說(shuō)在默認(rèn)情況下呢,因?yàn)槿绻矣胮erl的解釋器,將會(huì)返回匪夷所思的內(nèi)容
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-10
?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

是有辦法實(shí)現(xiàn)你說(shuō)的要求的,思路是這樣的:
1)第一種思路:在運(yùn)行b.php中運(yùn)行a.php,并且捕獲a.php的標(biāo)準(zhǔn)輸出作為方法的返回,這個(gè)需要事先構(gòu)造出運(yùn)行a.php的環(huán)境,比如設(shè)置query值,即a.php里的$_GET。
a)如何運(yùn)行a.php并捕獲標(biāo)準(zhǔn)輸出,可以參考pipe(管道)方式;
b)如何構(gòu)造運(yùn)行環(huán)境,可以參考CGI的環(huán)境變量進(jìn)行設(shè)置。
c)這種方式是需要額外運(yùn)行一個(gè)進(jìn)程來(lái)進(jìn)行處理的,所以性能并不是很好,不好作為線上用途。
2)第二種思路:實(shí)現(xiàn)一個(gè)簡(jiǎn)單的php解釋器,來(lái)運(yùn)行這個(gè)a.php;
a)這種方式比較復(fù)雜,但性能比第一個(gè)要好。
3)可能會(huì)有部分第三方或者開(kāi)源類庫(kù)實(shí)現(xiàn)了已有功能,這個(gè)需要你自行查找。
然后大概聽(tīng)了你說(shuō)的這些,感覺(jué)從需求上分析,你選用的方案應(yīng)該是有問(wèn)題,所以才造成了這么麻煩的實(shí)現(xiàn)方式。當(dāng)然不清楚你項(xiàng)目的實(shí)際困難,是否只能采取這種方式,但如果是從頭開(kāi)始的話,推薦是將a.php的實(shí)現(xiàn)抽象出來(lái),然后a.php和b.php分別調(diào)用才是更合理的方案。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-10
  • 2 回答
  • 0 關(guān)注
  • 437 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)