0

有什么方法可以使用 PHP 将 HTML 表单的 WIDTH(仅限 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 很陌生 :-)

提前致谢 :-)

4

1 回答 1

0

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

getimagesize($filename)

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

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

于 2013-05-01T07:54:09.527 回答