简单 PHP 图片移动
Simple PHP Image Move
我正在尝试移动一张上传的图片(来自 Android),该图片将在下面的第二个示例中通过 PHP 重命名,这样它们的名称就不会冲突。下面的原始示例可以正确上传文件,但可能存在命名冲突。我遇到的错误是 move_uploaded_files 函数失败,我不确定原因。该目录看起来相同,但我可能错了,问题是图像永远不会从临时目录中移动。最重要的是,我认为这只是一个目录问题,因为原始示例有效。如果您需要更多信息,请告诉我。我要使用的示例位于此处:How to rename uploaded file before saving it into a directory?
原文:
$uploaddir = './appphotos/';
$absPath = 'https://'.$_SERVER['HTTP_HOST'].'/complaint_desk/appphotos/';
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;
$newName = $uploaddir . $uploadFile;
新尝试:
$temp = explode(".",$_FILES["userfile"]["name"]);
echo json_encode($temp);
$newfilename = rand(1,99999) . '.' .end($temp);
echo json_encode($newfilename);
$uploadFile = move_uploaded_file($_FILES["userfile"]["name"], "/var/www/complaint_desk/appphotos/" . $newfilename); echo json_encode($uploadFile);
您应该使用如下功能:
if(move_uploaded_file($_FILES["userfile"]["tmp_name"], "./appphotos/" . $newfilename)) {
echo json_encode($uploadFile); // why do you want to encode it?
} else {
echo 'File failed to move';
}
始终检查 move_uploaded_file()
的结果。此外,文件在移动之前位于 $_FILES["userfile"]["tmp_name"]
。
此外,$absPath
也不正确。它不应该以 http 协议开头。它应该看起来像 /var/www/complaint_desk/appphotos/
或 C:/complaint_desk/appphotos/
.
我正在尝试移动一张上传的图片(来自 Android),该图片将在下面的第二个示例中通过 PHP 重命名,这样它们的名称就不会冲突。下面的原始示例可以正确上传文件,但可能存在命名冲突。我遇到的错误是 move_uploaded_files 函数失败,我不确定原因。该目录看起来相同,但我可能错了,问题是图像永远不会从临时目录中移动。最重要的是,我认为这只是一个目录问题,因为原始示例有效。如果您需要更多信息,请告诉我。我要使用的示例位于此处:How to rename uploaded file before saving it into a directory?
原文:
$uploaddir = './appphotos/';
$absPath = 'https://'.$_SERVER['HTTP_HOST'].'/complaint_desk/appphotos/';
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;
$newName = $uploaddir . $uploadFile;
新尝试:
$temp = explode(".",$_FILES["userfile"]["name"]);
echo json_encode($temp);
$newfilename = rand(1,99999) . '.' .end($temp);
echo json_encode($newfilename);
$uploadFile = move_uploaded_file($_FILES["userfile"]["name"], "/var/www/complaint_desk/appphotos/" . $newfilename); echo json_encode($uploadFile);
您应该使用如下功能:
if(move_uploaded_file($_FILES["userfile"]["tmp_name"], "./appphotos/" . $newfilename)) {
echo json_encode($uploadFile); // why do you want to encode it?
} else {
echo 'File failed to move';
}
始终检查 move_uploaded_file()
的结果。此外,文件在移动之前位于 $_FILES["userfile"]["tmp_name"]
。
此外,$absPath
也不正确。它不应该以 http 协议开头。它应该看起来像 /var/www/complaint_desk/appphotos/
或 C:/complaint_desk/appphotos/
.