質問: fopen($path, "w+"); //ファイルロック flock($fp, LOCK_EX); //書込み fwrite($fp, $text); //出力をファイルにフラッシュ fflush($fp); //ファイルロック解除 flock($fp, LOCK_UN); //ファイルを閉じる fclose($fp); //ダウンロード開始 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=test.csv'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($path)); readfile($path); exit;
回答: 『Web で特定の URL(PHPで書かれたプログラム)にブラウザからアクセス したら「ファイルを保存するダイアログ」が出てきたので、ファイル名を 指定して保存できました。』 というのと、 『コマンドラインで ``` $ php スクリプト名.php ``` としたら、カレントディレクトリに(何らかのファイル名を持つ)ファイルが 作られました。』 というのを、一般的には同じプログラムで書くことはできません。 (技術的には不可能とは言い切れないですが、いろんなテクニックが必要そう) 実際に「こうなってほしい」というのを実例(文章ではなくて実際のコマンド例)で 書いていただけると、質問の趣旨がより正確に伝わるかと思います。