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


Resize and rename PNG, JPG or GIF file with PHP

是否有任何方法,使用PHP,你可以调整从HTML表单的宽度(只有PNG, JPG和GIF)发送的图像的最大值,让我们说500px(所以如果文件是350px宽,没有任何拉伸),并将其重命名为随机的15个字符的名称(例如:"e19gy675jo5el7g.png")并保存到image/目录?

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

提前感谢:-)

我不知道完整的代码,但你可以通过PHP的GD库来完成。使用

getimagesize($filename)

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

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