【问题标题】:Warning: fgetcsv() expects parameter 1 to be resource, boolean given in C:警告:fgetcsv() 期望参数 1 是资源,C 中给出的布尔值:
【发布时间】:2015-08-12 08:02:55
【问题描述】:

我正在尝试使用 fgetcsv() 获取 CSV,但我收到如下错误:

警告:fgetcsv() 期望参数 1 是资源,在 C:..中给出布尔值。

如果我 var_dump($handle) 确保然后输出是:Bool(False)

<?php

    $handle = fopen($_FILES['filename']['tmp_name'], "r");
    //var_dump($handle);die;
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        //print_r ($data);die;
        $import="INSERT into pickup_28(NO,TGL_PICKUP,SERVICE_NUMBER,ICCID,CUSTOMER_NAME,PRODUCT,ALAMAT,NO_ALT,AREA) 
        values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]')";

        mysql_query($import) or die(mysql_error());

    }

?>

【问题讨论】:

  • 我不确定您不理解错误消息的哪一部分。由于fopen() 返回 false,因此存在某种错误。当您请求文件时,该文件可能已不存在。

标签: php csv


【解决方案1】:

在尝试使用结果之前,您需要测试fopen是否成功:

$handle = fopen($_FILES['filename']['tmp_name'], "r");
if ($handle) {
    // Use $handle
} else {
    die("Unable to open file");
}

【讨论】:

    【解决方案2】:

    表示fopen()函数返回FALSE;

    所以你需要在使用fgetcsv(之前修改你的fopen()函数)检查它是否是is_resource()函数的资源。您还可以在打开之前检查文件是否可以使用函数is_readable() 读取,或者是否存在file_exists()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多