我试图获取路径文件名并将其发布到sql表,实际上我的代码非常复杂,我无法找到解决方案。这是我的代码的主要部分,它直接到我的问题点。
$test->setPathFilename('../tests/' . $_FILES['path_filename']['name']);
在上面的代码中,它会获得真实的路径文件名,然后将其上传到测试文件夹,它将通过 [' name']获取文件名并将其发布到sql表名 path_filename
在我的公共PHP文件中,文件名正在通过以下代码进行处理:
$destinationName = $file['name'];
所以,现在一切都运转良好。问题是当文件存在时,它将被替换为现有文件。这就是我尝试使用此代码自动上传时重命名文件的原因:
$ext = pathinfo($file["name"], PATHINFO_EXTENSION);
$destinationName = sha1_file($file["tmp_name"]).time().".".$ext;
所以,现在如果文件名是ABC.png,它将被重命名为如下名称:56944555554554.png!
但仍然路径文件名是真实的文件名,在第一个代码中没有重命名我的意思是:
$test->setPathFilename('../tests/' . $_FILES['path_filename']['name']);
据我所知,上面一行中的 [' name'] 是真实路径文件名,我的意思是 ABC.png
这就是为什么当上传成功然后它不会在sql表中显示它的原因,文件名已经通过实名ABC.png保存但事实上,文件名已被重命名为测试文件夹。
我该如何解决这个难题?请帮我解决这个问题。
我非常感谢您的帮助,并提前致谢。
非常感谢