在Php中尝试读取一个csv文件以在数组中显示

cld4siwp  于 11个月前  发布在  PHP
关注(0)|答案(1)|浏览(92)

我有一个csv文件,电话列和名称列。我想获取电话号码作为值和名称作为键。它是一个龙文件。这是我的代码,我尝试;

public function actionReadfile(){
      $file=('ContactList.csv'.'r'); 
      if($file==Null){
       return;
    }else{
        
        while (($data = fgetcsv($file)) !== false) {
            $file_arr[] = $data;
        }
        foreach($data as $value){
            array_push($value->$file_arr);
            Yii::$app->response->format=Response::FORMAT_JSON;
            return $file_arr;     
      }
      fclose($file); 
}

字符串
}
我试图使用fgetcsv($file)文件名,但我得到错误。'参数'1'传递到fgetcsv()应该是资源类型,字符串givenPHP(PHP 0406)'

xj3cbfub

xj3cbfub1#

你得到这个错误,因为fgetcsv需要一个打开的文件,以进行分析。Cf:official documentation
这样你的代码看起来会更好:

public function actionReadfile() {
    $file = fopen("ContactList.csv", "r");
    if (false === $file) {
        return;
    }
    
    while (($data = fgetcsv($file)) !== FALSE) {
        //... bla bla bla
    }
    fclose($file); 
}

字符串

相关问题