|
|
|
ช่วยดู code หน่อยครับ งงมานานแล้ว ผมทำ upload แบบหลายรูป upload รูปได้แล้ว insert ชื่อรูป ลง db |
|
|
|
|
|
|
|
ผมทำ upload แบบหลายรูป upload รูปได้แล้ว insert ชื่อรูป ลง db ได้แล้ว ประมาณว่า ทำงานได้ทุกอย่างแล้ว แต่ดันมี Warning อ่ะครับ
Warning: Division by zero in C:\AppServ\www\xxxx\admin\news\fnaddnews.php on line 143
ไม่ทราบ จะแก้ยังไงครับ ขอบคุณล่วงหน้าครับ
// code
Code (PHP)
<?php
foreach($_FILES as $name => $file)
{
//echo 'input = '.$name.', file = '.$file['name'].', tmp_name = '.$file['tmp_name'].'<br>';
$sqlStmt2 = "select max(img_id+1) as maxid, count(*) as recordcount from news_img ";
$result2 = mysql_query($sqlStmt2);
$line2 = mysql_fetch_array($result2, MYSQL_ASSOC);
if($line2["recordcount"] == 0)
{
$maxId2 = 1;
} else{
$maxId2 = $line2["maxid"];
}
$nextId2 = formatStringId($maxId2, 7);
$sql = "INSERT INTO news_img (img_id, news_id) VALUES ('$nextId2', '$nextId')";
$result = mysql_query($sql);
$photo= $file['tmp_name'];
$phot_name= $file['name'];
$phot_size= $file['size'];
$phot_type= $file['type'];
$ext = strtolower(end(explode('.',$photo_name)));
if($ext =="jpg" or $ext == "jpeg" or $ext =="png" or $ext == "gif")
{
$filename = $nextId2.md5(rand() * time()).".".$ext;
copy($photo,"../../images2/news/normal/$filename");
$sql1 = "UPDATE news_img SET img_normal='$filename' WHERE img_id='$nextId2'";
$result1 = mysql_query($sql1);
if($ext == "jpg" or $ext=="jpeg")
{
$ori_img = @imagecreatefromjpeg($photo);
}else if ($ext =="png"){
$ori_img = @imagecreatefrompng($photo);
}else if ($ext =="gif"){
$ori_img = @imagecreatefromgif($photo);
}
$ori_size = getimagesize($photo);
$ori_w = $ori_size[0];
$ori_h = $ori_size[1];
$Quality = 100;
if($ori_w >= $ori_h)
{
$new_w = 62;
$new_h = round(($new_w/$ori_w) * $ori_h); //line 143
}else{
$new_h = 80;
$new_w = round (($new_h/$ori_h) * $ori_w);
}
$new_img = @imagecreatetruecolor($new_w,$new_h);
@imagecopyresized($new_img,$ori_img,0,0,0,0,$new_w,$new_h,$ori_w,$ori_h);
if ($ext == "jpg" or $ext == "jpeg")
{
@imagejpeg($new_img,"../../images2/news/thumbnails/$filename",$Quality);
}elseif ($ext == "png"){
@imagepng($new_img,"../../images2/news/thumbnails/$filename",$Quality);
}elseif ($ext == "gif"){
@imagegif($new_img,"../../images2/news/thumbnails/$filename",$Quality);
}
@imagedestroy($ori_img);
@imagedestroy($new_img);
$sql2 = "UPDATE news_img SET img_thumb='$filename' WHERE img_id='$nextId2' ";
$result2 = mysql_query($sql2);
}
}
?>
Tag : - - - -
|
|
|
|
|
|
Date :
2009-05-15 15:28:43 |
By :
เด็กน้อย |
View :
970 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fnaddnews.php
line 143
เอา file นี้มาดูหน่อยครับ
|
|
|
|
|
Date :
2009-05-15 15:31:59 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code ที่โพสไป คือ fnaddnews.php ครับ อีกอย่าง resize ยังไม่ได้ครับ เช็คไปเช็คมา ขนาดไฟล์ที่ resize เป็น 1k ซะงั้น เปิดดูก็ไม่ได้.....ขอบคุณครับ
|
|
|
|
|
Date :
2009-05-15 16:03:36 |
By :
เด็กน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอานี้ไปใช้ดิ ฟังก์ชั่น resize จากโปรแกรม php water mark ของผมเอง
Code (PHP)
<?php
function ResizeJPG($jpg,$height,$save)
{
$images = $jpg;
//กำหนดความสูงของรูปใหม่ สำหรับความกว้างไม่ต้องกำหนดครับ
// เพราะโปรแกรมจะทำการคำรวณความกว้างให้พอดีกับขนาดของรูปที่ได้ทำการ Resize
$size=GetimageSize($images);
if($height<=$size[0])
{
$height=380;
}else
{
$height=$size[0];
}
$width=round($height*$size[0]/$size[1]);
$images_orig = ImageCreateFromJPEG($images);
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,$save.$jpg); // ชื่อไฟล์ใหม่
ImageDestroy($images_orig);
ImageDestroy($images_fin);
}
?>
วิธีใช้งาน
เรียกฟังก์ชั่นโดย
ResizeJPG("ชื่อแระที่อยู่รูป",ขนาดความสูงของรูปที่จะให้ Resize เมื่อขนาดเกินที่กำหนดจะลดมาตามที่ตั้งในช่องนี้แต่ถ้าไม่ถึงก็จะไม่ปรับเลย,"โฟลเดอร์ที่จะใช้เก็บเมื่อทำงานเสร็จแล้ว");
|
|
|
|
|
Date :
2009-05-15 16:14:43 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
example ResizeJPG("testImage.jpg","380","Resized/");
|
|
|
|
|
Date :
2009-05-15 16:16:38 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|