摘要:今天想在中用來在線挑戰(zhàn)一些題目,要用到標(biāo)準(zhǔn)輸入輸出,但最近在寫又不想用來寫,平時(shí)寫項(xiàng)目都是表單提交,還真沒有考慮過這個(gè),于是看了下文檔。
今天想在Sphere Online Judge中用PHP來在線挑戰(zhàn)一些題目,要用到標(biāo)準(zhǔn)輸入輸出,但最近在寫php又不想用c來寫,平時(shí)寫項(xiàng)目都是表單提交,還真沒有考慮過這個(gè),于是看了下文檔。
文檔在此:http://php.net/manual/zh/wrappers.php.php
一、PHP STDIN、STDOUT、STDERR簡(jiǎn)介:STDIN、STDOUT、STDERR命令輸入輸出流,用于向控制臺(tái)(linux shell終端、windows cmd終端)輸入、輸出內(nèi)容,它們默認(rèn)是已經(jīng)打開的,可以直接對(duì)他們進(jìn)行讀寫操作,它們只能在CLI(command-line interface,命令行界面)模式中使用,在Http模式時(shí),它們是未定義的。
而他們的打開副本php://stdin、php://stdout、php://stderr?也無法輸出內(nèi)容到http瀏覽器,經(jīng)測(cè)試:寫入php://stderr的內(nèi)容將會(huì)輸入到默認(rèn)站點(diǎn)的錯(cuò)誤日志中,其它兩種無任何效果。
STDIN/STDOUT/STDERR簡(jiǎn)介:
原始流 | 流打開副本 | 描述 |
---|---|---|
STDIN | php://stdin | 標(biāo)準(zhǔn)輸入(standard input),只讀,用于從控制臺(tái)輸入內(nèi)容; |
STDOUT | php://stdout | 標(biāo)準(zhǔn)輸出(standard output),只寫,用于向控制臺(tái)輸出正常信息; |
STDERR | php://stderr | 錯(cuò)誤輸出(standard error),只寫,用于向控制臺(tái)輸出錯(cuò)誤信息; |
官方推薦使用常量?STDIN、?STDOUT?和?STDERR?來代替它們手動(dòng)打開的副本封裝器php://stdin、 php://stdout 和 php://stderr。
二、PHP STDIN用法:PHP語言中"STDIN"用于從控制臺(tái)讀取內(nèi)容,遇到此常量或者通過fopen()函數(shù)打開php://stdin腳本將會(huì)等待用戶輸入內(nèi)容,直到用戶按下回車鍵提交。
寫個(gè)stdin.php測(cè)試一下:
運(yùn)行結(jié)果:
請(qǐng)輸入內(nèi)容:sad 輸入的內(nèi)容為: sad 請(qǐng)輸入: asdasdasdasdasdasd 輸入為: asdasdasdasd(這里因?yàn)樵O(shè)置了最多讀取12個(gè)字符,設(shè)置更多一些就可以完整顯示)三、PHP STDOUT用法:PHP語言中STDOUT用于向控制臺(tái)輸出標(biāo)準(zhǔn)信息;向此常量、或者向fopen()函數(shù)打開的php://stdout寫入的內(nèi)容將直接輸出到控制臺(tái)的標(biāo)準(zhǔn)輸出;標(biāo)準(zhǔn)輸出的內(nèi)容可以用過">"或者"1>"重定向到指定地方,比如文件。
同理我們寫個(gè)文件來測(cè)試一下
運(yùn)行一下:
? test php demo.php > a.txt ? test cat a.txt 通過STDOUT寫入; 通過php://stdout寫入;% ? test php demo.php 通過STDOUT寫入; 通過php://stdout寫入;% ? test四、PHP STDERR用法:PHP語言中"STDERR"用于向控制臺(tái)輸出錯(cuò)誤信息;向常量、或者向fopen()函數(shù)打開的"php://stderr"寫入的內(nèi)容將直接輸出到控制臺(tái)的錯(cuò)誤輸出;錯(cuò)誤輸出的內(nèi)容可以用過"2>"重定向到指定地方,比如文件;也可以使用"2>&1"將錯(cuò)誤輸出定向到標(biāo)準(zhǔn)輸出,與標(biāo)準(zhǔn)輸出合并。
我們測(cè)試一下
正常輸出和錯(cuò)誤輸出分別定向到不同文件:
? test php demo.php 1>demo.ok 2>demo.err ? test cat demo.ok STDOUT寫入的正常輸出; php://stdout寫入的正常輸出; ? test cat demo.err STDERR寫入的錯(cuò)誤輸出; php://stderr寫入的錯(cuò)誤輸出;正常輸出和錯(cuò)誤輸出合并定向到統(tǒng)一文件:
? test php demo.php 1>AllInOne 2>&1 ? test cat AllInOne STDERR寫入的錯(cuò)誤輸出; STDOUT寫入的正常輸出; php://stdout寫入的正常輸出; php://stderr寫入的錯(cuò)誤輸出;好了,接下來可以去Sphere Online Judge叱咤風(fēng)云了,先測(cè)試個(gè)demo題目
寫個(gè)代碼
提交
哈哈哈哈,完全ok,再也不用限制于java和c了,我可以用PHP挑戰(zhàn)一些題目了,大家也可以去試試?
個(gè)人訂閱號(hào)Jimmy的技術(shù)樂園
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25676.html
摘要:在線挑戰(zhàn),還沒用過,貌似現(xiàn)在對(duì)英文資料心里還有種抵觸,必須克服實(shí)驗(yàn)樓研發(fā)工程師包含了等學(xué)習(xí)課程。書的作者就是開發(fā)了用于數(shù)據(jù)分析的著名開源庫的作者英文資料,對(duì)數(shù)據(jù)分析中要用到的一些庫,等等做了簡(jiǎn)要介紹。形式的資料,示例代碼都很全。 showImg(https://segmentfault.com/img/remote/1460000004852849); 一、說明 面對(duì)網(wǎng)絡(luò)上紛繁復(fù)雜的資...
摘要:進(jìn)攻即是最好的防御個(gè)練習(xí)黑客技術(shù)的在線網(wǎng)站進(jìn)攻即是最好的防御,這句話同樣適用于信息安全的世界。社區(qū)有接近萬的注冊(cè)會(huì)員也是最大的一個(gè)黑客社區(qū)之一。 進(jìn)攻即是最好的防御!19個(gè)練習(xí)黑客技術(shù)的在線網(wǎng)站 進(jìn)攻即是最好的防御,這句話同樣適用于信息安全的世界。這里羅列了19個(gè)合法的來練習(xí)黑客技術(shù)的網(wǎng)站,不管你是一名開發(fā)人員、安全工程師、代碼審計(jì)師、滲透測(cè)試人員,通過不斷的練習(xí)才能讓你成為一個(gè)優(yōu)秀安...
摘要:然而,雖然先生對(duì)無所不知,被譽(yù)為世界的愛因斯坦,但他的語言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來,說明你是真心想學(xué)好JavaScript的。你沒有想錯(cuò),當(dāng)今如果要開發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...
摘要:詳解十大常用設(shè)計(jì)模式力薦深度好文深入理解大設(shè)計(jì)模式收集各種疑難雜癥的問題集錦關(guān)于,工作和學(xué)習(xí)過程中遇到過許多問題,也解答過許多別人的問題。介紹了的內(nèi)存管理。 延遲加載 (Lazyload) 三種實(shí)現(xiàn)方式 延遲加載也稱為惰性加載,即在長(zhǎng)網(wǎng)頁中延遲加載圖像。用戶滾動(dòng)到它們之前,視口外的圖像不會(huì)加載。本文詳細(xì)介紹了三種延遲加載的實(shí)現(xiàn)方式。 詳解 Javascript十大常用設(shè)計(jì)模式 力薦~ ...
閱讀 2184·2021-11-23 10:06
閱讀 3578·2021-11-11 16:54
閱讀 3388·2019-08-29 17:31
閱讀 3628·2019-08-29 17:05
閱讀 2216·2019-08-26 13:36
閱讀 2209·2019-08-26 12:17
閱讀 576·2019-08-26 12:12
閱讀 1725·2019-08-26 10:19