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

时间:2017-10-31 18:52:35

标签: php fclose

我收到此错误 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+)/', '${1} ', strtoupper($file[3])); ?> VIN</span></div></div></div><p>&nbsp;</p>
<?php fclose($file); ?>

1 个答案:

答案 0 :(得分:1)

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

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

注意:

  • 您通常无需致电fclose(),因为它会在脚本末尾隐式触发。
  • 如果文件包含多行,则需要多次调用fgetcsv()

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