fclose() 期望参数 1 为资源,eval() 中给出的数组

fclose() expects parameter 1 to be resource, array given in eval()

我收到此错误 fclose() 期望参数 1 为资源,eval() 中给出的数组 $file 不是资源?

<?php $file = fgetcsv(fopen("https://www.example.com/tock.txt","r")); ?>
<div class="stocks-status"><div><div class="stocks-title">Books</div><div class="stockbook">

<?php echo $file[0]; ?></div></div><div><div class="stockbook">

<?php echo $file[1]; ?></div><div class="book-date"><span>

<?php echo $file[2]; ?></span> | <span>
<?php echo preg_replace('/(\d+)/', ' ', strtoupper($file[3])); ?> VIN</span></div></div></div><p>&nbsp;</p>
<?php fclose($file); ?>

fclose() 需要文件句柄,您传递的是文件内容。你想要这样的东西:

$handle = fopen("https://www.example.com/tock.txt", "r");
$csv = fgetcsv($handle);
fclose($handle);

注:

  • 您通常不需要调用 fclose(),因为它会在脚本结束时隐式触发。
  • 如果文件包含多行,您需要多次调用 fgetcsv()

此外,应尽可能避免使用 eval()。它通常会带来重大的安全问题。