這是我上傳的PHP:如何從全路徑獲取文件名與PHP
if (trim($_FILES['path_filename']['name']))
{
if (File::upload($_FILES['path_filename'], dirname(realpath(__FILE__)) . '/../tests'))
{
$test->setPathFilename('../tests/' . $_FILES['path_filename']['name']);
}
}
}
else
{
if ($aux)
{
$aux = str_replace("\\", "/", $aux);
$aux = preg_replace("/[\/]+/", "/", $aux);
$test->setPathFilename($aux);
}
}
$_POST["upload_file"] = $test->getPathFilename();
這上面的代碼中運作良好,我的意思是,上傳到服務器工作正常,也越來越路徑文件名和插入到sql表中也是工作。
例子:當我上傳例如文件:abc.jpg的,它將上傳到測試文件夾,也路徑文件名是((../tests/ABC.jpg)),它會插入到sql表。
的問題是在這裏:
我用這下面的代碼自動變爲全局函數重命名文件:
之前,它是:
$destinationName = $file['name'];
我把它改爲:
$ext = pathinfo($file["name"], PATHINFO_EXTENSION);
$destinationName = sha1_file($file["tmp_name"]).time().".".$ext;
現在,將文件上傳到測試文件夾後,它會自動重命名,但路徑文件名仍然相同,它是ABC.jpg未在測試文件夾中重命名的文件。
如何獲取重命名的路徑文件名?
我真的很感謝您在這個問題上的幫助。
在此先感謝
除非您顯示不同的代碼行是如何相關的,否則不可能回答。顯而易見的解決方案是先重命名,然後移動並存儲到數據庫中... – jeroen