我正在使用Uploadify上传文件。上传时,PHP会随机化文件名。我需要将文件名回显给JS。我不知道足够的PHP来做到这一点。
这是我的PHP脚本:
<?php
$targetFolder = '/uploads';
$verifyToken = md5('unique_salt' . $_POST['timestamp']);
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$fileParts = pathinfo($_FILES['Filedata']['name']);
$targetFile = sprintf('%s/%s.%s', $targetPath, uniqid(), $fileParts['extension']);
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png','doc','docx','pdf','xlsx','pptx','tiff','tif','odt','flv','mpg','mp4','avi','mp3','wav','html','htm','psd','bmp','ai','pns','eps'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
echo '1';
} else {
echo 'Invalid file type.';
}
}
?>
如果我正确理解了脚本,那么脚本底部的echo '1'
就是文件名所在的位置。如何在那里插入更改或随机化的文件名?
答案 0 :(得分:2)
您的$targetFile
变量包含上传文件的完整路径(移动后)。如果您只想要文件名部分,请使用basename()
,例如
echo basename($targetFile);