※ ChatGPTを利用し、要約された質問です(原文:unlinkでどうしてもファイルが削除できない!!)
unlinkでファイルが削除できない!エラーの解決方法を教えてください
このQ&Aのポイント
ローカルなapacheのサーバにファイルをアップロードし、指定のファイルを削除するプログラムを作成しています。
ファイルを削除する部分でエラーが発生し、ファイルが削除できません。
パーミッションの設定やフォルダの作成方法を試したが解決しないため、解決方法を教えてください。
unlinkでどうしてもファイルが削除できない!!
お世話になります。
いろいろとネットで情報を探しているのですが、どうしても解決しません。
ローカルなapacheのサーバにファイルをアップロードし、指定のファイルを削除するプログラムを作成しています。
プログラムファイルのあるディレクトリの下に"files"というディレクトリがあり、その下に、アップロードした日付でディレクトリ(例:"200511171010")をプログラム側で作成し、その下にファイルをアップロードするものです。
編集するプログラムで、選択したファイルを削除するというものです。
サーバは、Windows2000,MySQL,Apacheです。プログラムはEUCで書かれています。
・フォルダを作成するプログラム
$uniq = $dir_y.$dir_m.$dir_d.$dir_h.$dir_i;
$uploaddir = "./files/$uniq/";
//ファイルのアップロード処理
if($_FILES['file1']['name'] != ""){
mkdir("$uploaddir");
$ufile[1] = $_FILES['file1']['name'];
$ufile[1] = str_replace("'","’","$ufile[1]");
$uploadfile = $uploaddir.$ufile[1];
move_uploaded_file($_FILES['file1']['tmp_name'],mb_convert_encoding($uploadfile, "SJIS", "EUC-JP"));
}
・ファイルを削除する部分
$rslt = unlink("./files/$uniq/$t[$i]");
です。
エラーは、
Warning: unlink(./files/20051115195407/購入書籍.xls) [function.unlink]: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\shuchi\edit_ok.php on line 103
です。ファイル自体はあるのですが、削除されていません。
パーミッションとかも、フォルダを作成するときとか、いろいろいじってみたのですが解決しませんでした。
何かわかれば是非、教えてください。すみませんがよろしくお願いいたします。
お礼
わかりました! mb_convert_encoding を使うことで解決できました!! ヒントを頂き、ありがとうございました!!!
補足
不思議なことに、半角英字のみのファイル(例:test.xls)だと、エラーが出ずに削除できました・・・ なぜだろう・・・