【问题标题】:Resize and rename PNG, JPG or GIF file with PHP使用 PHP 调整和重命名 PNG、JPG 或 GIF 文件
【发布时间】:2013-04-25 02:50:24
【问题描述】:

有没有什么方法可以使用 PHP 来调整从 HTML 表单的 WIDTH(仅限 PNG、JPG 和 GIF)发送的图像的大小,例如 500px(所以如果文件是 350px 宽,则没有) t 任何拉伸),并将其重命名为随机的 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 文档 :(
  • 那里有大量/大量示例(来自 google white-hat-web-design.co.uk/blog/resizing-images-with-php 的第一个结果),我建议您试一试,如果您遇到错误,请告诉我们,我们可以提供帮助。跨度>
  • 我阅读了整个页面,虽然代码确实有效,但我不知道如何通过 html 页面中的表单使其工作,然后保存到目录 image/。而且我不知道如何将所有 PHP 代码(重命名并且仅支持 png、jpg 和 gif)添加到一个中,以便 PHP 表单同时执行所有三个。抱歉打扰了,我只是不知道该怎么做!

标签: php html forms resize rename


【解决方案1】:

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

getimagesize($filename)

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2012-12-21
    • 2012-04-20
    • 1970-01-01
    • 2011-05-11
    • 2011-03-12
    • 2017-02-23
    相关资源
    最近更新 更多