Foreach 循环在 php 中的 cronjob 中不起作用
Foreach loop is not working in cronjob in php
我写了一个脚本来只检查 CSV 文件并删除它们。
$dir = $getData['ftp_location']; //get the dir locations from db
echo $dir;
echo nl2br("\n");
$files = glob("$dir/*.csv"); //get only csv files
echo $files;
echo nl2br("\n");
foreach ($files as $tmpname)
{
//do some stuff. I have also done echo here it is not working.
echo "File Deleted";
}
所以我尝试了这样一个简单的 foreach 代码:
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value)
{
echo "$value <br>";
}
注意:在每个 运行,我都会收到一封电子邮件,说明 cronjob 运行 成功并打印回显。
这样的电子邮件:
./files/pvc/
数组
我没有在 foreach 循环中得到回显。
喜欢“文件已删除”或“颜色”
如果我 运行 直接使用相同的代码,它可以正常工作,但不能通过 cronjob。知道为什么吗?
因为csv路径是相对路径
执行cron时,当前目录路径与php二进制路径相同(ex: /usr/bin/php).
请使用绝对路径
$dir = __DIR__. DIRECTORY_SEPARATOR. $getData['ftp_location']; //get the dir locations from db
我写了一个脚本来只检查 CSV 文件并删除它们。
$dir = $getData['ftp_location']; //get the dir locations from db
echo $dir;
echo nl2br("\n");
$files = glob("$dir/*.csv"); //get only csv files
echo $files;
echo nl2br("\n");
foreach ($files as $tmpname)
{
//do some stuff. I have also done echo here it is not working.
echo "File Deleted";
}
所以我尝试了这样一个简单的 foreach 代码:
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value)
{
echo "$value <br>";
}
注意:在每个 运行,我都会收到一封电子邮件,说明 cronjob 运行 成功并打印回显。
这样的电子邮件:
./files/pvc/
数组
我没有在 foreach 循环中得到回显。
喜欢“文件已删除”或“颜色”
如果我 运行 直接使用相同的代码,它可以正常工作,但不能通过 cronjob。知道为什么吗?
因为csv路径是相对路径
执行cron时,当前目录路径与php二进制路径相同(ex: /usr/bin/php).
请使用绝对路径
$dir = __DIR__. DIRECTORY_SEPARATOR. $getData['ftp_location']; //get the dir locations from db