2013-05-01 55 views
0

有沒有什麼方法可以使用PHP,可以將HTML表單的WIDTH(僅限PNG,JPG和GIF)發送的圖像大小調整爲最大值,例如500px (所以如果文件寬度爲350px,沒有任何拉伸),並將其重命名爲隨機的15個字符的名稱(例如「e19gy675jo5el7g.png」)並將其保存到圖像/目錄中?使用PHP調整和重命名PNG,JPG或GIF文件

我已經有一些代碼,但它沒有調整文件的大小,並允許上傳所有文件類型(它只是將文件重命名爲隨機名)。我不想在表單中使用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 :-)

在此先感謝:-)

+1

回答三個問題是肯定的,上面的代碼,你做的最後一個,所以哪來的前兩個的嘗試? – 2013-05-01 04:03:58

+0

我試圖添加前兩個,但我不知道在哪裏添加到代碼:(因爲我不知道調整大小和圖像上傳代碼在PHP文檔中的位置:( – 2013-05-01 04:28:41

+0

有是負載/噸的例子在那裏(谷歌http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/第一結果),我建議你給一個去&如果你得到一個錯誤,讓我們知道,我們可以幫助。 – 2013-05-01 04:34:58

回答

相關問題