【发布时间】: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