使用 while 循环将 fopen 转换为 curl
Converting fopen to curl using while loop
大家好,我创建了一个函数 (PHP),它主要打开一个文本文件,其中包含一个日期列表,每个日期单独占一行。然后我用 while look 浏览文件的每一行,看看列出的日期是否与今天匹配,或者如果没有匹配则获取下一个最接近今天的日期。问题是我放置函数的主机不支持 fopen,所以我需要将它转换为 curl。我看过一些例子,但只能找到一种方法来使用 curl 获取内容,而不是逐行检查你能帮我把它转换成 curl 吗?这是我的代码:
function service_dates() {
$file_path .= "/dates.txt";
$handle = fopen($file_path, "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
$new_time = strtotime( $line );
$time_now = strtotime(date("d-m-Y", gmmktime()));
if ($time_now == $new_time) {
$next_date = date("D, jS M", $new_time);
$status = "Operating a Service Today!";
$statusid = 1;
$returnstatus = array($status, $next_date, $statusid);
return $returnstatus;
}
if ($time_now <= $new_time) {
$next_date = date("D, jS M", $new_time);
$status = "Closed Today";
$statusid = 2;
$returnstatus = array($status, $next_date, $statusid);
return $returnstatus;
}
}
fclose($handle);
}
else {
echo "error";
}
}
您可以使用 explode 将数据拆分为单独的行并使用 foreach 循环遍历生成的数组:
foreach(explode("\n", $data_from_curl) as $line){
...
}
(如果您的文件使用 windows 换行符,请将“\n”替换为“\r\n”)
大家好,我创建了一个函数 (PHP),它主要打开一个文本文件,其中包含一个日期列表,每个日期单独占一行。然后我用 while look 浏览文件的每一行,看看列出的日期是否与今天匹配,或者如果没有匹配则获取下一个最接近今天的日期。问题是我放置函数的主机不支持 fopen,所以我需要将它转换为 curl。我看过一些例子,但只能找到一种方法来使用 curl 获取内容,而不是逐行检查你能帮我把它转换成 curl 吗?这是我的代码:
function service_dates() {
$file_path .= "/dates.txt";
$handle = fopen($file_path, "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
$new_time = strtotime( $line );
$time_now = strtotime(date("d-m-Y", gmmktime()));
if ($time_now == $new_time) {
$next_date = date("D, jS M", $new_time);
$status = "Operating a Service Today!";
$statusid = 1;
$returnstatus = array($status, $next_date, $statusid);
return $returnstatus;
}
if ($time_now <= $new_time) {
$next_date = date("D, jS M", $new_time);
$status = "Closed Today";
$statusid = 2;
$returnstatus = array($status, $next_date, $statusid);
return $returnstatus;
}
}
fclose($handle);
}
else {
echo "error";
}
}
您可以使用 explode 将数据拆分为单独的行并使用 foreach 循环遍历生成的数组:
foreach(explode("\n", $data_from_curl) as $line){
...
}
(如果您的文件使用 windows 换行符,请将“\n”替换为“\r\n”)