检查文件是否存在。
我试图获得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()