运行我的脚本以打开带有fopen()
的CSV文件时,很少会因以下错误而无法加载:
Warning: fopen(https://www.link.com/csv.csv): failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in C:\xampp\htdocs\create_products.php on line 28
我的代码如下:
$csv = array();
$line = array();
if (FALSE !== $handle = fopen("https://www.fmasarovic.com/export_feed.php?preset=poshbag_boutique", "r")) {
while (FALSE !== $row = fgetcsv($handle)) {
$csv[] = $row;
}
}
foreach (array_slice($csv, 1) as $row) {
$new_row = array();
for ($i = 0, $c = count($csv[0]); $i < $c; ++$i) {
$new_row[$csv[0][$i]] = $row[$i];
}
$line[] = $new_row;
}
我把这个错误归结为服务器问题,我可以接受这种情况有时会发生,所以我想知道的是,是否可以将第一行代码放在循环中,这将继续尝试连接直到成功连接,如果是,我需要进入哪个方向?
这很重要,因为我将每2小时设置一个cron作业,因此我不希望在发生此错误时脚本运行之间有4小时的间隔。
非常感谢您提前的时间。
答案 0 :(得分:0)
使用在连接失败时重复while()
的{{1}}循环。
fopen()