したがって、ファイルを作成し、データをエクスポートし、ユーザーにダウンロードさせてから、ユーザーに削除させる機能があります。削除する以外はすべて機能します。unlink 関数が $_POST アクション内で実際に機能しないためなのか、それとも何か他のものなのかはわかりませんが、知っておくとよいでしょう。変数をヘッダーに渡し、ロード時にヘッダー内のその変数をスクリプトでチェックしてから、以前に成功したようにそこからファイルのリンクを解除しますが、ファイル名は動的であり、変数はページをリロードするときに失われますが、これはヘッダーが常に行うことです (ヘッダー内の変数を介して表示される変数を渡すことができると思いますが、可能であればそうしたくありません)。
スクリプトのこの時点でこれらの変数の値が失われたのではないかと思いましたが、それらは数行前に使用されただけであり、それらを中断したり変更したりするものは何もないため、そうではないことはわかっています.
ファイルのアクセス許可についても疑問に思いました。サーバーがフォルダーに書き込むには、フォルダーに _www パーミッションを付与する必要がありましたが、再度パーミッションを確認したところ、_www (明らかにサーバー) には読み取り、書き込み、および実行のパーミッションが付与されています。したがって、許可することはできません。
ダイエラーも表示されません。
最後に、ファイル名からこれらの変数を削除しようとしましたが、fopen() で静的な名前の変数を作成してから、unlink() で静的な名前の変数を削除しようとしました。変数が変更されたか、何らかの理由で失われましたが、それでもその静的ファイル名とのリンクは解除されません。
if (isset($_POST['delete'])) {
unlink("exported-" .$result2 ."-alltime-" .$today .".csv") or die("Could not delete file! Oh noes!");
}