前提
PHPのCSV出力に関してです。
実現したいこと
一覧画面で、CSV出力ボタン押下時、画面のデータを指定のパスにCSV出力する
発生している問題・エラーメッセージ
エラーメッセージ Warning: fopen(パス(個人情報のため伏せます)/tanmatuitirann.csv): failed to open stream: No such file or directory in /var/www/html/debug_test/tanmatu_test/tn0010.php on line 244 ファイルの書き込みに失敗しました。 ### 該当のソースコード $W_CSV = array( "kanrino" => $KANRINO ,"kanrino_oya" =>$KANRINO_OYA ,"ipaddress" => $IPADDRESS ,"keitainm" => $KEITAINM ,"youto" => $YOUTO ,"tantnm" =>$TANTNM ,"mekar" => $MAKER ,"OS" => $OS ,"cpunm" => $CPUNM ,"domein" => $DOMEIN ,"CPU" => $CPU ,"koasu" => $KOASU ,"memori" => $MEMORI ,"desk1" => $DESK1 ,"desk2" => $DESK2 ,"desk3" => $DESK3 ,"desk4" => $DESK4 ,"desk5" => $DESK5 ,"OSlicence" => $OSLICENCE ,"Office" => $OFFICE ,"konyuym" => $KONYUYM ,"haikiym" => $HAIKIYM ,"biko"=> $BIKO ); function putCsv($data) { try { //CSV形式で情報をファイルに出力のための準備 //$csvFileName = '/tmp/' . time() . rand() . '.csv'; $csvFileName ="C:/Users/久世 大暉\OneDrive/デスクトップ/端末台帳csv/tanmatuitirann.csv"; // $fileName = 'tanmatuitirann.csv'; $res = fopen($csvFileName, 'c'); if ($res === FALSE) { throw new Exception('ファイルの書き込みに失敗しました。'); } // 項目名先に出力 $header = ["kanrino", "kanrino_oya", "ipaddress", "keitainm","youto","tantnm","mekar","OS","cpunm","domein","CPU","koasu","memori", "desk1","desk2","desk3","desk4","desk5","OSlicence","Office","konyuym","haikiym","biko"]; fputcsv($res, $header); // ループしながら出力 foreach($data as $dataInfo) { // 文字コード変換。エクセルで開けるようにする mb_convert_variables('SJIS', 'UTF-8', $dataInfo); // ファイルに書き出しをする fputcsv($res, (array)$dataInfo); } // ファイルを閉じる fclose($res); // ダウンロード開始 // ファイルタイプ(csv) header('Content-Type: application/octet-stream'); // ファイル名 header('Content-Disposition: attachment; filename=' . $csvFileName); // ファイルのサイズ ダウンロードの進捗状況が表示 header('Content-Length: ' . filesize($csvFileName)); header('Content-Transfer-Encoding: binary'); // ファイルを出力する readfile($csvFileName); } catch(Exception $e) { // 例外処理をここに書きます echo $e->getMessage(); } } putCsv($W_CSV); ```ここに言語名を入力 PHP
0 コメント