|
|
|
คำสั่ง update รูปภาพที่เรา upload ขึ้นไปอยากทราบว่าถ้าใช้คำสั่ง update รูปจะไปแทนที่รูปเก่ารึป่าวครับ |
|
|
|
|
|
|
|
ผมมี form แก้ไขข้อมูลสมาชิกต้องการแก้ไขรุปภาพใหม่ถ้าใช้คำสั่ง update รูปจะไปแทนที่เดิมรึป่าวครับ
หรือผมต้องเขียน code ลบรุปเก่าออกก่อนแล้วค่อยสั่งให้มัน update รูปใหม่
จาก code เนี่ยถ้าผมจะลบรุปเก่าแล้วค่อย update รูปเข้าไปใหม่ต้องเพิ่มตรงไหนมั่งครับขอบคุณมากครับ
Code (PHP)
<?php header('Content-type: text/html; charset=utf-8'); ?>
<?
include "connect.php";
$folderpic = "mypic" ; //ชื่อโฟลเดอร์ที่ไว้ใช้เก็บไฟล์
$max_size = 500; // จำกัดขนาดไฟล์ ค่าเป็น kb
$width=100; //ขนาดความกว้างที่ต้องการ Resize
$height=100; // ขนาดความสูงที่ต้องการ Resize
$file_size=$_FILES['filUpload']['size']; // ตัวแปรขนาดของไฟล์
$limit_size=1000*$max_size;
if($file_size >= $limit_size){
echo "<script language='javascript'>alert('ไฟล์ของคุณใหญ่เกินไปครับต้องมีขนาดไม่เกิน $max_size kb');</script>";
} else {
if($_FILES["filUpload"]["tmp_name"]){
$fileUpload=$_FILES["filUpload"]["tmp_name"]; // ตัวแปร temp
$fileUpload_name=$_FILES["filUpload"]["name"]; // ตัวแปรชื่อไฟล์
if (isset($_FILES[filUpload][name])) { // ถ้ามีการเซทชื่อไฟล์มาให้ประมวลผลส่วนนี้
//*** ส่วนนี้คือการ Rename รูปให้เป็นวันที่ที่บันทึก ***//
$ext = strtolower(end(explode('.', $fileUpload_name)));
$dateUpFile=date("YmdHis");
$newname=$dateUpFile.".".$ext; //ชื่อไฟล์ที่กำหนดขึ้นมาใหม่ โดยใช้วันและเวลาเป็นตัวกำหนดตั้งชื่อ
//*** สร้างภาพขึ้นมาใหม่ตามนามสกุลของไฟล์เดิม ***//
$images = $fileUpload;
$size = getimagesize($images);
$img_type=strtolower(end(explode('.',$images)));
if($size[2] == 1) {
$images_orig = imagecreatefromgif($images); // GIF
} else if($size[2] == 2) {
$images_orig = imagecreatefromjpeg($images); // JPEG
}
else if($size[2] == 3) {
$images_orig = imagecreatefrompng($images); // png
}
//*** ส่วนนี้คือการ Resize รูป ***//
$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); // ทำการ Resize ภาพ
imagegif($images_fin,"$folderpic/".$newname);
imagedestroy($images_orig);
imagedestroy($images_fin);
}
// ส่วนการ insert ชื่อไฟล์ลง db
$sql= mysql_query("INSERT INTO register VALUES ('','','','','','','','','$newname')") or die(mysql_error());
if ($sql) {
echo "<script>alert('บันทึกข้อมูลเรียบร้อยครับ');window.location='webboard1.php';</script> ";
}
}
}
?>
Tag : PHP
|
|
|
|
|
|
Date :
2011-07-14 12:24:51 |
By :
chonburi f.c |
View :
2807 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าชื่อใหม่เหมือนชื่อเก่ามันแทนให้เลย แต่ถ้า เป็นชื่อใหม่ ต้องไปลบชื่อเก่าก่อน
|
|
|
|
|
Date :
2011-07-14 12:30:32 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน ใหม่ได้คับ แต่ต้องใช้คำสั่งให้มันรู้ว่าตอนนี้ อัปเดตหรือใส่เข้าไปใหม่
เช่น
if($_POST[action]=='insert'){
ดำเนินการ insert -->> DATABASE
}
if($_POST[action]=='update'){
$select = "ดึงข้อมูลจาก DATABASE ";
$query = msyq_fetch_array('ข้อมูลทั้งหมด');
ทำการลบรูปเก่าออกให้หมดก่อน
@unlink("images/upload/"array [picname]");
@unlink("images/upload/tmp_img/"array [picname]");
พอลบหมด
ก็ update รูป ใหม่เข้าไป
} จบการทำงาน update
|
|
|
|
|
Date :
2011-07-14 12:44:02 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากโค๊ดที่ผมให้ไป มันมีการ Rename ชื่อไฟล์ เป็น วันเดือนปี + เวลา ณ ขณะนั้นอยู่แล้วครับ
ไม่มีทางชื่อไฟล์จะซ้ำกันแน่นอน มันก็จะเพิ่มภาพไปเรื่อยๆ หากกลัวเปลืองพื้นที่ ก็เขียนโค๊ดลบไฟล์ก่อน update ครับ
|
|
|
|
|
Date :
2011-07-14 13:14:32 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคุณ tOm อีกครั้งครับผม
|
|
|
|
|
Date :
2011-07-14 13:42:10 |
By :
chonburi f.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|