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 の初心者です :-)
前もって感謝します :-)