2012-10-15 71 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”文件夹? –