看看这段代码:
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
每次我尝试上传时,$_FILES['uploadedfile']['tmp_name'] 是否可能返回相同的文件?
换句话说,当我尝试在 $target_path 中上传时,我看到了相同的文件,即我一周前上传的文件。另外,如果我在上传之前尝试将其删除,问题仍然存在:
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 中选择 id WHERE registration_id = '$id_long' "); $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”将是第一次上传的同一个文件!!!
* 最后编辑* * 好的,问题不在 php 代码中。作为我的托管域的 Altervista 启用了缓存,所以我看到了相同的文件,现在我已禁用它并且一切正常。我很抱歉这件事。
此致。
恩里科