이 기사에서는 특정 참조 가치가 있는 PHP의 표준 입력 및 출력을 소개합니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들이 참조할 수 있습니다.
Sphere Online에서 사용하고 싶습니다. 오늘 판단하세요. PHP를 사용하여 온라인으로 몇 가지 질문에 도전하고 표준 입력 및 출력이 있지만 최근에는 PHP를 작성하고 있으며 C를 사용하고 싶지 않습니다. 저는 보통 프로젝트를 작성할 때 양식을 제출하는 경우가 많기 때문에 문서를 살펴보았습니다.
문서는 여기에 있습니다: http://php.net/manual/zh/wrappers.php.php
STDIN
、STDOUT
、STDERR
명령 입력 및 출력 스트림, 콘솔(리눅스 셸 터미널, Windows cmd 터미널) 입력 및 출력 콘텐츠에 사용되며 기본적으로 열려 있으며 직접 읽고 쓸 수 있으며 CLI(명령줄 인터페이스, 명령줄 인터페이스) 모드에서만 사용할 수 있습니다. Http 모드에서는 정의되지 않습니다.
열린 사본의 내용php://stdin
、php://stdout
、php://stderr
也无法输出内容到http浏览器,经测试:写入php://stderr
은 기본 사이트의 오류 로그에 입력되며 나머지 두 개는 아무런 영향을 미치지 않습니다.
STDIN/STDOUT/STDERR 소개:
원본 스트림 | 스트림 공개 사본 | Description |
---|---|---|
STDIN | php://stdin | 표준 입력, 입력하는데 사용됨 콘솔의 콘텐츠 |
STDOUT | php://stdout | 표준 출력(표준 출력), 쓰기 전용, 일반 정보를 콘솔에 출력하는 데 사용됨 |
STDERR | php: //stderr | 오류 출력(표준 오류), 쓰기 전용, 오류 정보를 콘솔에 출력하는 데 사용됨 |
수동으로 열린 복사 래퍼php://stdin
, php://stdout
및 php://stderr
. php://stdin
、 php://stdout
和 php://stderr
。
PHP语言中"STDIN"用于从控制台读取内容,遇到此常量或者通过fopen()
函数打开php://stdin
脚本将会等待用户输入内容,直到用户按下回车键提交。
写个stdin.php
测试一下:
<?php echo "请输入内容:"; $jimmy = fgets(STDIN); echo sprintf("输入的内容为: %s\n", $jimmy); $demo = fopen('php://stdin', 'r'); echo "请输入: "; $test = fread($demo, 12); //最多读取12个字符 echo sprintf("输入为: %s\n", $test);fclose($demo);
运行结果:
请输入内容:sad 输入的内容为: sad 请输入: asdasdasdasdasdasd 输入为: asdasdasdasd(这里因为设置了最多读取12个字符,设置更多一些就可以完整显示)
PHP语言中STDOUT
用于向控制台输出标准信息;向此常量、或者向fopen()函数打开的php://stdout
2. PHP STDIN 사용법: PHP 언어의 "STDIN"은 이 상수를 만나거나 fopen()기능 열기<code style="font-family:monaco, Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:.9em;padding:1px 2px;color:rgb(133,128,128);배경: rgb(249,250,250);margin:5px;border:1px solid rgb(228,228,228);">php://stdin
스크립트는 사용자가 Enter 키를 눌러 제출할 때까지 사용자가 콘텐츠를 입력할 때까지 기다립니다. 쓰기 stdin.php
테스트:
<?php fwrite(STDOUT, "通过STDOUT写入;\n"); $demo = fopen("php://stdout", "w"); fwrite($demo, "通过php://stdout写入;"); fclose($demo);실행 결과:
☁ test php demo.php > a.txt ☁ test cat a.txt 通过STDOUT写入; 通过php://stdout写入;% ☁ test php demo.php 通过STDOUT写入; 通过php://stdout写入;% ☁ test3. PHP STDOUT 사용법: PHP 언어STDOUT은 표준 정보를 콘솔에 출력하는 데 사용됩니다.
fopen() 함수에 열립니다. :monaco, Consolas, 'Liberation Mono', Menlo, Courier, monospace;font-size:.9em;padding:1px 2px;color:rgb(133,128,128); background:rgb(249,250,250);margin:5px;border:1px solid rgb(228,228,228);">php://stdout
작성된 내용은 콘솔의 표준 출력으로 직접 출력됩니다. 표준 출력의 내용은 ">" 또는 ""일 수 있습니다. 1>"파일 등 지정된 위치로 리디렉션됩니다. 마찬가지로 테스트용 파일을 작성해 보겠습니다<?php
fwrite(STDERR, "STDERR写入的错误输出;\n");
fwrite(STDOUT, "STDOUT写入的正常输出;\n");
$stdout = fopen("php://stdout", "w");
fwrite($stdout, "php://stdout写入的正常输出;\n");
fclose($stdout);$stderr = fopen("php://stderr", "w");
fwrite($stderr, "php://stderr写入的错误输出;\n");
fclose($stderr);
실행:
☁ test php demo.php 1>demo.ok 2>demo.err ☁ test cat demo.okSTDOUT写入的正常输出; php://stdout写入的正常输出;☁ test cat demo.errSTDERR写入的错误输出; php://stderr写入的错误输出;
4. PHP STDERR 사용법:
PHP 언어의 "STDERR"은 오류 정보를 상수 또는
fopen에 출력하는 데 사용됩니다. ()함수로 열린 "php://stderr"에 작성된 내용은 콘솔의
오류 출력으로 직접 출력됩니다. 오류 출력 내용은 "
를 사용하여 파일 등 지정된 위치로 리디렉션할 수 있습니다. 2>" ; "
테스트해 보겠습니다☁ test php demo.php 1>AllInOne 2>&1☁ test cat AllInOneSTDERR写入的错误输出; STDOUT写入的正常输出; php://stdout写入的正常输出; php://stderr写入的错误输出;정상 출력과 오류 출력은 각각 다른 파일로 전달됩니다.
<?php // your code here$x=0;while($x!=42){ $x = fgets(STDIN); if($x!=42){ echo sprintf("%d\n",$x);}}?>정상 출력과 오류 출력은 병합되어 통합 파일로 전달됩니다.rrreee
좋아요, 다음은 Sphere Online Judge로 이동하세요. , 먼저 데모 주제 테스트
🎜🎜🎜🎜코드 작성🎜rrreee🎜Submit🎜🎜🎜🎜🎜하하하하, 완전히 괜찮습니다. 더 이상 java와 c에 국한되지 않습니다. PHP로 몇 가지 질문에 도전할 수 있습니다. 모두가 갈 수도 있습니다. 그것 🎜관련 권장 사항:
php의 네임스페이스 및 자동 로딩에 대한 자세한 내용
위 내용은 PHP의 표준 입력 및 출력의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!