このコードを見てください:
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
アップロードしようとするたびに $_FILES['uploadedfile']['tmp_name'] が同じファイルを返す可能性はありますか?
つまり、$target_path にアップロードしようとすると、1 週間前にアップロードしたのと同じファイルが表示されます。また、アップロードする前に削除しようとすると、問題が解決しません:
if(file_exists($target_path)) {
chmod($target_path,0777); //Change the file permissions if allowed
$z = unlink($target_path); //remove the file
アップロードのディレクトリ (target_path 内) を初めて変更すると、アップロードは正常に機能しますが、その後、同じ問題が発生します。つまり、ファイルが変更されません。
ありがとう
編集:これは私がtarget_pathを作成する方法です:
$target_path = "uploads/"; //Folder where to save
$id_long = basename( $_FILES['uploadedfile']['name']);
$ret = $mysqli->query("android_udid WHERE registration_id = '$id_long' から ID を選択"); $ret = $ret->fetch_object()->id; $ret.=".jpg";
$target_path = $target_path .$ret ;
説明: Android アプリで写真を送信します。写真の名前は登録 ID です。
アプリをテストしているため、テストの target_path は常に同じですが、写真を変更してアップロードするため、 $_FILES['uploadedfile']['tmp_name'] を変更する必要があります。
*新しい編集 *
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path) を変更すると
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], "xxx.jpg"); 最初は「xxx.jpg」が正しいファイルですが、それを削除して別のファイルをもう一度アップロードしようとすると、「xxx.jpg」は最初のアップロードと同じファイルになります!!!
* 最終編集* * OK、問題は php コードにありませんでした。私のホスティング ドメインである Altervista は有効なキャッシュを持っていたので、同じファイルを見ました。申し訳ありません。
よろしくお願いします。
エンリコ