我正在使用uploadify将图片上传到我的网站。
这是一个很棒的产品,但我不能让缩略图正常工作。
我已经调整了一些我发现的代码,它运行正常,它一次上传了我喜欢的多个图像,但是当它上传每个图像时会覆盖上一个图像,因此只有一个图像和一个拇指保留在上传文件夹中
这是我正在使用的代码,任何帮助都会很棒
<?php
// Define a destination
$targetFolder = '../uploadifythumbtest'; // Relative to the root
$thumbsFolder = '../uploadifythumbtest/thumbs/'; // Relative to the root
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $targetFolder;
$fileParts = pathinfo ( $_FILES ['Filedata'] ['name'] );
$extension = $fileParts ['extension'];
$filename = "artist_" . $yourid . "." . $fileParts ['extension'];
$targetFile = rtrim ( $targetPath, '/' ) . '/' . $filename;
$targetThumb = rtrim ( $thumbsFolder, '/' ) . '/' . $filename;
// Validate the file type
$fileTypes = array (
'jpg',
'jpeg',
'gif',
'png',
'JPG',
'bmp'
); // File extensions
if (in_array ( $fileParts ['extension'], $fileTypes )) {
// CREATE THUMBNAIL
if ($extension == "jpg" || $extension == "jpeg") {
$src = imagecreatefromjpeg ( $tempFile );
} else if ($extension == "png") {
$src = imagecreatefrompng ( $tempFile );
} else {
$src = imagecreatefromgif ( $tempFile );
}
list ( $width, $height ) = getimagesize ( $tempFile );
$newwidth = 50;
$newheight = ($height / $width) * $newwidth;
$tmp = imagecreatetruecolor ( $newwidth, $newheight );
imagecopyresampled ( $tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height );
$thumbname = $targetThumb;
imagejpeg ( $tmp, $thumbname, 100 );
imagedestroy ( $src );
imagedestroy ( $tmp );
move_uploaded_file($tempFile,$targetFile);
echo '1';
} else {
echo 'Invalid file type.';
}
}
?>
答案 0 :(得分:1)
用于保存图像的文件名在以下行中创建:
$filename = "artist_" . $yourid . "." . $fileParts ['extension'];
因此,您上传的每个文件都会使用相同的名称。
您可以使用原始文件名文件名:
$filename = $fileParts['filename']. "." . $fileParts ['extension'];