使用PHP调整PNG,JPG或GIF文件的大小和重命名

时间:2013-05-01 03:56:08

标签: php html forms resize rename

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

我已经有了一些代码,但它没有调整文件大小并允许上传所有文件类型(它只将文件重命名为随机名称)。我不想在表单中使用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 个答案:

答案 0 :(得分:0)

我不知道整个代码,但您可以通过PHP的GD库使用

getimagesize($filename)

获取图像细节并使用它检查宽度。如果宽度小于500,则不要调整大小。

可能有助于您的链接:http://forums.phpfreaks.com/topic/210603-uploaded-image-change-width-and-height/