2012-10-15 73 views
0
<?php 
require_once ('../index.php'); 
if ($_FILES["file"]["error"] > 0) 
{ 
    echo "Error: " . $_FILES["file"]["error"] . "<br/>"; 
} 
else 
{ 
} 
$allowedExts = array("jpg", "jpeg", "gif", "png"); 
$extension = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/png") 
|| ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 200000) && in_array($extension, $allowedExts)) 
{ 
    if ($_FILES["file"]["error"] > 0) 
    { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br/>"; 
    } 
    else 
    { 
     if (file_exists("../uploadedImages/" . $_FILES["file"]["name"])) 
     { 
      echo $_FILES["file"]["name"] . " already exists. "; 
     } 
     else 
     { 
      move_uploaded_file($_FILES["file"]["tmp_name"], 
      "../uploadedImages/" . $_FILES["file"]["name"]); 
      echo "Du har laddat upp en bild."; 
     } 
    } 
} 
else 
{ 
    echo "Invalid file"; 
} 

我想能夠調整我的形象,當我上傳我的形象。 我現在有的代碼將圖片上傳到我的uploadedImages文件夾中,我想將圖片大小調整爲小拇指。如何調整我上傳的圖片?

+0

你有沒有試圖谷歌如何調整圖像在PHP中?微小的提示:那裏有成千上萬的文章 – zerkms

+0

你將不得不復制令人興奮的上傳圖像,然後調整它。關於它的篇幅。這是給你的一個。 http://php.net/manual/en/function.imagecopyresized.php – Dorvalla

+0

@Dorvalla我會試試看,謝謝。 – Toni

回答

0

此腳本將圖像大小調整爲兩個60px和25px。看看$ newwidth你必須修改大小值。

<?php 

define ("MAX_SIZE","400"); 

$errors=0; 

if($_SERVER["REQUEST_METHOD"] == "POST") 
{ 
     $image =$_FILES["file"]["name"]; 
$uploadedfile = $_FILES['file']['tmp_name']; 

    if ($image) 
    { 
    $filename = stripslashes($_FILES['file']['name']); 
     $extension = getExtension($filename); 
    $extension = strtolower($extension); 
if (($extension != "jpg") && ($extension != "jpeg") 
&& ($extension != "png") && ($extension != "gif")) 
    { 
echo ' Unknown Image extension '; 
$errors=1; 
    } 
else 
{ 
    $size=filesize($_FILES['file']['tmp_name']); 

if ($size > MAX_SIZE*1024) 
{ 
echo "You have exceeded the size limit"; 
$errors=1; 
} 

if($extension=="jpg" || $extension=="jpeg") 
{ 
$uploadedfile = $_FILES['file']['tmp_name']; 
$src = imagecreatefromjpeg($uploadedfile); 
} 
else if($extension=="png") 
{ 
$uploadedfile = $_FILES['file']['tmp_name']; 
$src = imagecreatefrompng($uploadedfile); 
} 
else 
{ 
$src = imagecreatefromgif($uploadedfile); 
} 

list($width,$height)=getimagesize($uploadedfile); 

$newwidth=60; 
$newheight=($height/$width)*$newwidth; 
$tmp=imagecreatetruecolor($newwidth,$newheight); 

$newwidth1=25; 
$newheight1=($height/$width)*$newwidth1; 
$tmp1=imagecreatetruecolor($newwidth1,$newheight1); 

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight, 
$width,$height); 

imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1, 
$width,$height); 

$filename = "images/". $_FILES['file']['name']; 
$filename1 = "images/small". $_FILES['file']['name']; 

imagejpeg($tmp,$filename,100); 
imagejpeg($tmp1,$filename1,100); 

imagedestroy($src); 
imagedestroy($tmp); 
imagedestroy($tmp1); 
} 
} 
} 
//If no errors registred, print the success message 

if(isset($_POST['Submit']) && !$errors) 
{ 
    // mysql_query("update SQL statement "); 
    echo "Image Uploaded Successfully!"; 

} 
?> 

查找文件擴展名。

function getExtension($str) { 

     $i = strrpos($str,"."); 
     if (!$i) { return ""; } 
     $l = strlen($str) - $i; 
     $ext = substr($str,$i+1,$l); 
     return $ext; 
} 
+0

下載全部工作演示:picdemo.php http://www29.zippyshare.com/v/77682866/file.html –

+0

我想讓你的代碼能夠正常工作,但沒有它的開始,現在它只是一個空白頁面。你能解釋你的代碼嗎? – Toni

+0

你保存文件時是否下載了代碼並創建了「images」文件夾? –