在php cli中,如何重定向?

在php cli中,如何重定向?,php,command-line-interface,Php,Command Line Interface,我将以下代码存储在一个名为index.php的文件中 <?php file_put_contents(date('Y-m-d-H-i-s', time()) . '.txt', '123'); sleep(1); header("Location: ./index.php", true, 301); ?> 在浏览器中,它每秒创建一个文件,但当我在PHPCLI(php-f index.php)中运行它时,它只创建一个文件 如何在php CLI中使用重定向?命令行界面(CLI)无法

我将以下代码存储在一个名为index.php的文件中

<?php
file_put_contents(date('Y-m-d-H-i-s', time()) . '.txt', '123');
sleep(1);
header("Location: ./index.php", true, 301);
?>

在浏览器中,它每秒创建一个文件,但当我在PHPCLI(php-f index.php)中运行它时,它只创建一个文件


如何在php CLI中使用重定向?

命令行界面(CLI)无法重定向,因为它不是浏览器。你需要的是一个循环。尝试查找“for循环”或“while循环”。“for循环”重复代码多次,“while循环”重复代码直到满足条件

例如,以下代码将循环10次:

for ( $counter = 0; $counter < 10; $counter++) {
    file_put_contents(date('Y-m-d-H-i-s', time()) . '.txt', '123');
    sleep(1);
}
($counter=0;$counter<10;$counter++)的
{
文件内容(日期('Y-m-d-H-i-s',time()).txt',123');
睡眠(1);
}

date()
调用中也不需要
time()
。默认情况下是这样。对于web版本,您也应该这样做,效率更高。这不是我的目的,我想重定向到a.php以发送电子邮件,做不同的事情,而不是相同的事情。使用php cli将(位置是http协议的一部分)重定向到另一个文件没有意义。你需要更全面地解释你想要实现的目标。我想做两件事,一件是多次循环回显“XXX”,这几乎需要30秒,另一件事是发送电子邮件通知。当这两件事在一个进程中发生时,它将超时,我想将它们分为两个进程。@user1514160所以使用一个类似上面示例的循环。我认为你应该发布一个新问题,内容要详细得多