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



我试图获得fgetcsv()的CSV,但我得到这样的错误:

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

如果我var_dump($handle) for make sure,那么输出是: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是否成功:

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

表示fopen()函数返回FALSE;

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

检查文件是否存在。

最新更新