所有的想法我都需要确保该文件不会保存超过一次并且不会丢失任何文件,因为如果两个文件相同(md5)第二个文件将不会保存 (我的目标不保存同一个文件在硬盘上两次)
换句话说, 如果一个用户上传了图片,然后另一个用户上传了同一张图片,我不需要保存第二张图片,因为它已经存在于硬盘中,所有这一切都是因为我需要节省硬盘空间这是我的代码它工作正常
$targetFolder = '/test/uploadify/uploads'; // Relative to the root
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$myhash = md5_file($_FILES['Filedata']['tmp_name']);
$temp = explode(".", $_FILES['Filedata']['name']);
$extension = end($temp);
$targetFile = rtrim($targetPath,'/') . '/' .$myhash.'.'.$extension;
if(file_exists($targetFile)){
echo 'exist';
}
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
}
else {
echo 'Invalid file type.';
}
谢谢大家