2013-05-01 132 views
0

有没有什么方法可以使用PHP,可以将HTML表单的WIDTH(仅限PNG,JPG和GIF)发送的图像大小调整为最大值,例如500px (所以如果文件宽度为350px,没有任何拉伸),并将其重命名为随机的15个字符的名称(例如“e19gy675jo5el7g.png”)并将其保存到图像/目录中?使用PHP调整和重命名PNG,JPG或GIF文件

我已经有一些代码,但它没有调整文件的大小,并允许上传所有文件类型(它只是将文件重命名为随机名)。我不想在表单中使用accept =“image/*”HTML代码,所以如果你能帮我找到一个很好的PHP解决方案。

这里是我的PHP代码...

<?php 
function findexts ($filename) 
{ 
$filename = strtolower($filename) ; 
$exts = split("[/\\.]", $filename) ; 
$n = count($exts)-1; 
$exts = $exts[$n]; 
return $exts; 
}  
$ext = findexts ($_FILES['uploaded']['name']) ; 
$ran = rand() ; 
$ran2 = $ran."."; 
$target = "image/"; 
$target = $target . $ran2.$ext; 
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{ 
echo "The file has been uploaded as ".$ran2.$ext; 
} 
else 
{ 
echo "Sorry, there was a problem uploading your file."; 
} 
?> 

这是我的HTML

<html> 
<body> 
<form enctype="multipart/form-data" action="upload.php" method="post"> 
<div> 
<input name="uploaded" type="file" /> 
</div> 
<br> 
<button type="submit">Upload</button> 
</form> 
</body> 
</html> 

对不起,复杂的问题,我只是很新的PHP :-)

在此先感谢:-)

+1

回答三个问题是肯定的,上面的代码,你做的最后一个,所以哪来的前两个的尝试? – 2013-05-01 04:03:58

+0

我试图添加前两个,但我不知道在哪里添加到代码:(因为我不知道调整大小和图像上传代码在PHP文档中的位置:( – 2013-05-01 04:28:41

+0

有是负载/吨的例子在那里(谷歌http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/第一结果),我建议你给一个去&如果你得到一个错误,让我们知道,我们可以帮助。 – 2013-05-01 04:34:58

回答