草庐IT

STDIN_FILENO

全部标签

php - 从 php stdin 保存大文件

请告诉我从phpstdin保存大文件的最佳方法。iOS开发人员向我发送大量视频内容到服务器,我必须将其存储到文件中。我读取带有视频数据的标准输入线程并将其写入文件。比如这样:$handle=fopen("php://input","rb");while(!feof($handle)){$http_raw_post_data.=fread($handle,8192);}用什么功能比较好?file_get_contents或fread或其他东西? 最佳答案 我同意@hek2mgl的观点,将其视为多部分表单上传最有意义,但如果您不能更改输

php - 由于 phpunit 恶意文件 eval-stdin.php,端口 80 在 cpanel 上被阻止

我已将googleplus登录添加到我的网站(托管在共享服务器上)。google登录通过composer.json组合依赖库时,phpunit库是作为一部分下载的。它包含一个文件phpunit\phpunit\src\Util\PHP\eval-stdin.php。由于这个文件,我的域的80端口被阻止,因为他们说这是一个恶意软件文件。存储库链接是https://github.com/sebastianbergmann/phpunit以下是eval-stdin.php文件中的代码eval('?>'.file_get_contents('php://input'));有没有替代此代码的方法

php - 如何让子进程在 PHP 中写回其父进程的 STDIN?

在PHP中,有没有办法让用pcntl_fork()fork的子进程将数据直接写回其父进程的标准输入?我不是说使用单独的管道——stdin资源本身?(它必须是标准输入,因为简而言之,除非它可以将自己的标准输入直接绑定(bind)到传入数据,否则父级正在做的事情将无法正常工作——单独的管道将无法工作。)如:$pid=pcntl_fork();if(!$pid){//dofunchildprocessstuff//writedatabacktoparent'sSTDIN} 最佳答案 在Linux上(不知道这对于Unix一般而言有多普遍),

stdin - 如何在新输入之前清除 php STDIN?

我有一个关于php-cli的新问题。我正在使用这个:define("STDIN",fopen('php://stdin','r'));$input="";while($input==""){echo"Pleaseenter:";$input=fread(STDIN,80);}问题是:如果我输入的字符超过80个,比如100个,则多余的20个字符会添加到下一个字符中。如何在每次输入前“清除”STDIN? 最佳答案 将fread()的length参数设置为更高的值(即1024、2048、10000)-它决定读取数据的最大长度通过fread

php - Symfony 控制台 - 未定义常量 STDIN

我最近将我的symfony项目上传到我的网络托管商。使用控制台时,每当我应该输入一些内容时,我都会收到以下错误。Notice:UseofundefinedconstantSTDIN-assumed'STDIN'in/htdocs/symfony/vendor/symfony/symfony/src/Symfony/Component/Console/Helper/DialogHelper.phpline80给出错误的文件在这里:https://github.com/symfony/Console/blob/master/Helper/DialogHelper.php第103行我假设我的

PHP readline() 当 STDIN 不是键盘时

我正在编写一个能够从标准输入读取然后请求确认的脚本。当我直接运行它时:$phpscript.phpinputdata^DAreyousure?但我正在尝试使用一个文件作为STDIN来运行它。在这种情况下,readline()返回false并且不提示确认。$phpscript.php或$echo"foobar"|phpscript.php以这种方式调用此脚本时,如何从STDIN和键盘读取两者?谢谢。 最佳答案 使用fgetc使用STDIN函数。请参见下面的示例。$input=fgets(STDIN,1024);echo"\nAreyo

PHP:为 STDIN/单字符处理添加方向键支持

在PHP中,我可以使用以下代码从命令行程序读取输入$stream=STDIN;$test=fgets($stream);echo$test;这适用于简单的输入。但是,如果我尝试使用类似后退箭头键的东西,我的shell将如下所示Thisisatest^[[D^[[D^[[D即^[[D的箭头键转义序列被发送到shell。PHP本身将解释箭头键——即输入这个Thisisatest^[[D^[[D^[[D^[[Dsecondtest会输出这个Thisisasecondtest但是,我希望shell“正确地”(即做我认为他们应该做的,而不是我发送的字面意思)解释箭头键,以便插入点在键入时移动。这

php - 从 Git 预提交 Hook 上的 STDIN 读取(使用 PHP)

我正在寻找一种方法让git-commit等待标准输入。我在PHP中编写代码,因为我的bash技能不存在,所以我想做一个常规的可以解决这个问题,等到我写入内容后再继续,但它会继续执行并继续执行我的PHP脚本。这背后的想法是,在我标记发布后,git会将HEAD推送到测试网络服务器,发送几条推文,并让我在CHANGELOG中写下有关发布的一些细节.虽然我可以实现写入文件(使用exec('mate-w')),但我希望它能挂起,直到我在服务器上进行快速测试。如果我发现任何错误(懒惰,我知道),这将使我能够回滚。感谢您的帮助! 最佳答案 大多数

Java+Eclipse : how do you debug a java program that is receiving piped/redirected stdin?

我正在使用Eclipse开发一个Java程序,我想我应该在我的程序中添加一个选项来在没有参数的情况下解析标准输入。(否则它解析一个文件)如果我执行"somecommand|java-jarmyjar.jar"并去调试,我会遇到问题......然后意识到我不知道如何在Eclipse中启动一个进程.如果我在命令提示符下运行它,我无法附加到正在运行的进程,因为该进程会立即启动。关于如何调试有什么建议吗?编辑:看,问题是,我最初编写我的程序是为了采用文件名参数。然后我认为它也采用stdin会很有用,所以我确实从我的程序中抽象了InputStream(正如Queue先生所建议的)。它在文件(ja

python sys.stdin(详细介绍readline()和readlines())

在Python中,sys.stdin是sys模块的一部分,用于处理标准输入流(stdin)。详细介绍sys.stdin.readline()和sys.stdin.readlines()sys.stdin.readline()方法从标准输入中读取一行用户输入。sys.stdin.readline()importsysdefmain():print("请输入一行文本:")#从标准输入读取一行,并移除行尾的换行符user_input=sys.stdin.readline().strip()print(f"您输入的文本是:{user_input}")if__name__=="__main__":mai