กลุ่มผู้ดูแลระบบแห่งประเทศไทย กลุ่มผู้ดูแลระบบแห่งประเทศไทย
16 เมษายน 2014, 11:13:22 *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

Thaiadmin on Social NetworkThaiadmin on TwitterThaiadmin on Facebook Group

ข่าว: Thai@miN OnTour น้ำเอ่อ ป่าดึกดำบรรพ์ สวรรค์อุทัย 7-10 Dec คลิ้ก เพื่ออ่านรายละเอียด
  หน้าแรก   เวบบอร์ด   ค้นหา ช่วยเหลือ เจ้าหน้าที่ เข้าสู่ระบบ ลืมรหัสผ่าน? คำเแนะนำ สมัครสมาชิก  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » Web Development » หัวข้อ:
|-+ อยาได้ code เกี่ยวกับการนำ upfile รูปภาพ โดย ใช้ php กับ Mysql


หน้า: [1]   ลงล่าง
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
ผู้เขียน หัวข้อ: อยาได้ code เกี่ยวกับการนำ upfile รูปภาพ โดย ใช้ php กับ Mysql  (อ่าน 3325 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Doraemee
Proficient Level 5
*****


จิตพิสัย: 0
ออฟไลน์ ออฟไลน์

กระทู้: 182

สมาชิกลำดับที่ 22897

Posting Frequency










 ระดับถัดไป:
 20% ( 2 / 10 )

« เมื่อ: 23 มกราคม 2008, 23:23:01 »

อยาได้ code เกี่ยวกับการนำ upfile  รูปภาพ โดย ใช้ php  กับ Mysql   
คือตอนนี้ยังติดปัญหาตรง รูป อย่างเดียวแล้วคับ ช่วยหน่อยคับผม Cry

Share topic : บันทึกการเข้า

<b>กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย</b>
rtee
Stager Tier 4
****


จิตพิสัย: 18
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 989

สมาชิกลำดับที่ 4240

Posting Frequency










 ระดับถัดไป:
 61.29% ( 19 / 31 )

« ตอบ #1 เมื่อ: 24 มกราคม 2008, 08:48:33 »

ส่วน form
โค๊ด: Select | Copy
<form method="post" action="xxx.php" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="Submit" value="Submit">
</form>

ส่วนเก็บข้อมูล
โค๊ด: Select | Copy
$file = $_FILES['file'];
$src = $file['tmp_name'];
$dst = "pic/".$file['name'];
if (copy($src,$dst)){
  echo "OK";
}
else {
  echo "FAIL";
}

เก็บเอาเฉพาะชื่อไฟล์ลงไปในฐานข้อมูล

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
จูกัดเหลียง (ก๊วยเจ๋ง)
Thaiadmin Meeting
*****


จิตพิสัย: 2
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 622

สมาชิกลำดับที่ 2284

Posting Frequency


...









 ระดับถัดไป:
 44% ( 22 / 50 )

« ตอบ #2 เมื่อ: 24 มกราคม 2008, 09:04:31 »

อันนี้ผมเอามาจากเว็บ thaicreate นะครับลองดูนะครับ ในเว็บนั้นก็มีข้อมุลอีกเพียบครับ  Afro

ออกแบบฐานข้อมูลดังนี้

Create Database picture;

CREATE TABLE picture (
id int(3) NOT NULL auto_increment,
images longblob NOT NULL,
PRIMARY KEY (id)
);


ขั้นที่ 1 ทำ From เพื่อ เลือกไฟล์ที่จะ uploads

Sample1.php

<html>
<head>
<title>Un title page</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<style type="text/css">
<!--
body { margin: 0px 0px; padding: 0px 0px}
a:link { color: #005CA2; text-decoration: none}
a:visited { color: #005CA2; text-decoration: none}
a:active { color: #0099FF; text-decoration: underline}
a:hover { color: #0099FF; text-decoration: underline}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<br>
<form method="POST" action="sample2.php" enctype ="multipart/form-data">
<font face="MS Sans Serif" size="2"> แก้ไข Logo</font>
<input type="file" name="files">
<input type="submit" name="Submit" value="uploads">
</form>
</body>
</html>



Share topic : บันทึกการเข้า
Ford AntiTrust
Thaiadmin VIP
*****

 Thaiadmin Writer


จิตพิสัย: 36
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 213

สมาชิกลำดับที่ 523

Posting Frequency


ความง่าย ไม่เคยทำให้ใครเก่ง


เว็บไซต์






 ระดับถัดไป:
 30% ( 3 / 10 )

« ตอบ #3 เมื่อ: 24 มกราคม 2008, 16:36:33 »

เอาแบบ full option แล้วกันนะครับ

Wink


โค๊ด: Select | Copy
define("HMF_UPLOAD_TXT_UPLOAD_COMPLETE", "Upload เสร็จสมบูรณ์.");
define("HMF_UPLOAD_TXT_UPLOAD_ERROR_SIZE", "The uploaded file exceeds the 'filesSize' setting directive.");
define("HMF_UPLOAD_TXT_UPLOAD_ERROR_TYPE", "รูปแบบไฟล์ผิดจากที่กำหนด");
define("HMF_UPLOAD_TXT_UPLOAD_ERROR_OPERATION", "Operation error on Error Messages Explained.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_INI_SIZE", "The uploaded file exceeds the upload_max_filesize directive.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_FORM_SIZE", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_PARTIAL", "The uploaded file was only partially uploaded.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_NO_FILE", "No file was uploaded.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_NO_TMP_DIR", "Missing a temporary folder.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_EXTENSION", "File upload stopped by extension.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_CANT_WRITE", "Failed to write file to disk.");
define("HMF_UPLOAD_TXT_UPLOAD_ERR_DEFAULT", "An unknown file upload error occured.");
define("UPLOAD_ERR_FILE_SIZE", "-1");
define("UPLOAD_ERR_FILE_TYPE", "-2");

class Upload {

    private $mimeType = array();
    private $extensionType = array();
    private $checkUploadStatusText = array();
    private $fileNameUploads = array();
    private $fileSizeUploads = array();
    private $fileMimeTypeUploads = array();
    private $fileExtTypeUploads = array();
    private $formInputName;
    private $filesSize = "2097152";
    private $desinationStoreFiles;
    private $formBegin = false;
    private $dirUpload;
    private $storeFilesName = NULL;

    public function SetDirUpload($value) {
        $this->dirUpload = $value;
    }
    public function GetDirUpload() {
        return $this->dirUpload;
    }
    public function SetInputName($value) {
        $this->formInputName = $value;
    }
    public function GetInputName() {
        return $this->formInputName;
    }
    public function SetFilesSize($value) {
        $this->filesSize = $value;
    }
    public function GetFilesSize() {
        return $this->filesSize;
    }
    public function SetAllowMimeType($mimeType) {
        if(is_array($mimeType)) $this->mimeType = $mimeType;
        else $this->mimeType[] = $mimeType;
    }
    public function GetAllowMimeType() {
        return $this->mimeType;
    }
    public function SetAllowExtType($extensionType) {       
        if(is_array($extensionType)) $this->extensionType = $extensionType;       
        else $this->extensionType[] = strtolower($extensionType);   
    }
    public function GetAllowExtType() {
        return $this->extensionType;
    }
    public function SetFileNameUploads($index, $value) {
        $this->fileNameUploads[$index] = $value;
    }
    public function GetFileNameUploads() {
        return $this->fileNameUploads;
    }
    public function SetFileSizeUploads($index, $value) {
        $this->fileSizeUploads[$index] = $value;
    }
    public function GetFileSizeUploads() {
        return $this->fileSizeUploads;
    }
    public function SetFileMimeTypeUploads($index, $value) {
        $this->fileMimeTypeUploads[$index] = $value;
    }
    public function GetFileMimeTypeUploads() {
        return $this->fileMimeTypeUploads;
    }
    public function SetFileExtTypeUploads($index, $value) {
        if(is_array($value)) $this->FileExtTypeUploads = $value;
        $this->fileExtTypeUploads[$index] = strtolower($value);
    }
    public function GetFileExtTypeUploads() {
        return $this->fileExtTypeUploads;
    }
    public function SetStoreFilesName($name) {
        if(is_array($name)) $this->storeFilesName = $name;
        $this->storeFilesName[] = $name;
    }
    public function GetStoreFilesName() {
        return $this->storeFilesName;
    }
    public function SetDestinationStoreFiles($index, $value) {
        if(is_array($value)) $this->desinationStoreFiles = $value;
        $this->desinationStoreFiles[$index] = $value;
    }
    public function GetDestinationStoreFiles() {
        return $this->desinationStoreFiles;
    }
    public function ActionUpload() {
        $storeFilesName = $this->GetStoreFilesName();
        foreach ($_FILES[$this->GetInputName()]["error"] as $key => $error) {
            $name = $_FILES[$this->GetInputName()]["name"][$key];
            $fileExt = $this->GetExt($name);
            if($error != 4 ) {
                if ($this->CheckUpload($key, $error)) {
                    if($this->CheckMimeType($_FILES[$this->GetInputName()]["type"][$key]) or $this->CheckExtType($fileExt) ) {
                        if($this->CheckSize($_FILES[$this->GetInputName()]["size"][$key])) {
                            $tmp_name = $_FILES[$this->GetInputName()]["tmp_name"][$key];
                            if(!empty($storeFilesName[$key])) $name = $storeFilesName[$key].'.'.$fileExt;
                            if(file_exists($this->GetDirUpload().'/'.$name)) unlink($this->GetDirUpload().'/'.$name);
                            move_uploaded_file($tmp_name, $this->GetDirUpload().'/'.$name);
                            $this->SetDestinationStoreFiles($key, $this->GetDirUpload().'/'.$name);
                        }
                        else {
                            $this->CheckUpload($key, UPLOAD_ERR_FILE_SIZE);
                        }
                    }
                    else {
                        $this->CheckUpload($key, UPLOAD_ERR_FILE_TYPE);
                    }
                }
                $this->SetFileNameUploads($key, $_FILES[$this->GetInputName()]["name"][$key]);
                $this->SetFileSizeUploads($key, $_FILES[$this->GetInputName()]["size"][$key]);
                $this->SetFileMimeTypeUploads($key, $_FILES[$this->GetInputName()]["type"][$key]);
                $this->SetFileExtTypeUploads($key, $fileExt);
            }
        }
    }
    public function CheckExtType($value) {
        $arr_type = $this->GetAllowExtType();
        return in_array(strtolower($value), $arr_type);
    }
    public function CheckMimeType($value) {
        $arr_type = $this->GetAllowMimeType();
        return in_array($value, $arr_type);
    }
   public function CheckSize($value) {
        if($value <= $this->GetFilesSize()) return true;
        else return false;
    }
    public function SetUploadStatusText($index, $code, $text, $bool) {
        $this->checkUploadStatusText[$index] = array('code' => $code, 'text'=>$text, 'bool'=>$bool);
    }
    public function GetUploadStatusText($index = NULL) {
        if(empty($index)) return $this->checkUploadStatusText;
        return $this->checkUploadStatusText[$index];
    }
    public function CheckUpload($index, $value) {
        switch ($value) {
            case UPLOAD_ERR_OK:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_COMPLETE, true);
                return true;
            case UPLOAD_ERR_INI_SIZE:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_INI_SIZE, false);
                return false;
            case UPLOAD_ERR_FORM_SIZE:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_FORM_SIZE, false);
                return false;
            case UPLOAD_ERR_PARTIAL:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_PARTIAL, false);
                return false;
            case UPLOAD_ERR_NO_FILE:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_NO_FILE, false);
                return false;
            case UPLOAD_ERR_NO_TMP_DIR:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_NO_TMP_DIR, false);
                return false;
            case UPLOAD_ERR_CANT_WRITE:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_CANT_WRITE, false);
                return false;
            case UPLOAD_ERR_EXTENSION:
                $this->SetUploadStatusText($index, $value, HMF_UPLOAD_TXT_UPLOAD_ERR_EXTENSION, false);
                return false;
            case UPLOAD_ERR_FILE_SIZE:
                $this->SetUploadStatusText($index, -1, HMF_UPLOAD_TXT_UPLOAD_ERROR_SIZE, false);
                return false;
            case UPLOAD_ERR_FILE_TYPE:
                $this->SetUploadStatusText($index, -2, HMF_UPLOAD_TXT_UPLOAD_ERROR_TYPE, false);
                return false;
            default:
                $this->SetUploadStatusText($index, NULL, HMF_UPLOAD_TXT_UPLOAD_ERR_DEFAULT, false);
                return false;
        }
    }
    public function GetActionInfo() {
        $result_details['name'] = $this->GetFileNameUploads();
        $result_details['destination'] = $this->GetDestinationStoreFiles();
        $result_details['size'] = $this->GetFileSizeUploads();
        $result_details['ext'] = $this->GetFileExtTypeUploads();
        $result_details['mime'] = $this->GetFileMimeTypeUploads();
        $result_details['status'] = $this->GetUploadStatusText();       
        return $result_details;
    }
    public function GetExt($filename){
        return strtolower(substr(strrchr($filename, '.'), 1));
    }
}

แล้วนี่ code html

โค๊ด: Select | Copy
<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" id="fdata" name="fdata[]"/>
    <input type="file" id="fdata" name="fdata[]"/>
    <input type="file" id="fdata" name="fdata[]"/>
    <input type="submit" />
</form>

จะสังเกตว่าผมใช้ html แบบ method-post แล้วใช้ร่วมกับ array data ครับ ทำให้สามารถส่งข้อมูลหลายๆ ค่าได้ในตัวแปรเดียวกันเลยตอน post

แล้วก็ code หน้าสำหรับเอาไว้ทำงาน

โค๊ด: Select | Copy
    $objUpload = new Upload();
    $objUpload->SetDirUpload('upload');
    $objUpload->SetStoreFilesName(array('1','2','3'));
    $objUpload->SetInputName('fdata');
    $objUpload->SetAllowExtType(array('jpeg','jpg','png','gif'));
    $objUpload->ActionUpload();
    $status = $objUpload->GetActionInfo();

SetDirUpload - กำหนด directory ปลายไม่ (ไม่ต้องใส่ / ต่อท้าย)
SetStoreFilesName - กำหนดชื่อของไฟล์ที่จะเอาไปวางไว้ปลายทาง กำหนดเป็น array ตาม index ถ้ามี 3 field ก็กำหนด 3 index แต่ถ้าไม่กำหนดจะเป็นชื่อของไฟล์นั้น ๆ เลย
SetInputName - เชื่อ file field ที่เราจะให้มันส่งค่า ไม่ต้องใส่ [] ต่อท้ายครับ
SetAllowExtType - กำหนดนามสกุลที่ต้องการให้ upload ได้ ใส่เป็น array ไป
SetAllowMimeType - กำหนด Mime-type ของไฟล์ลงได้ด้วย กำหนดแบบเดียวกับ SetAllowExtType
ActionUpload - สั้งให้รับค่า upload แล้วทำงาน
GetActionInfo - ข้อมูลต่าง ๆ ที่จำเป็นหลังจาก upload ครับ (ในตัวอย่างส่งไปให้กับ $status)

ข้อมูลที่ได้จากตัวแปร $status เป็น Array ครับ ลอง print_r หรือ var_dump ดูครับ

อันนี้ได้จาก var_dump

โค๊ด: Select | Copy
array(6) {
  ["name"]=>
  array(1) {
    [0]=>
    string(12) "DSC00132.JPG"
  }
  ["destination"]=>
  array(1) {
    [0]=>
    string(12) "upload/1.jpg"
  }
  ["size"]=>
  array(1) {
    [0]=>
    int(419231)
  }
  ["ext"]=>
  array(1) {
    [0]=>
    string(3) "jpg"
  }
  ["mimn"]=>
  array(1) {
    [0]=>
    string(11) "image/pjpeg"
  }
  ["status"]=>
  array(1) {
    [0]=>
    array(3) {
      ["code"]=>
      int(0)
      ["text"]=>
      string(44) "Upload เสร็จสมบูรณ์."
      ["bool"]=>
      bool(true)
    }
  }
}

ลอง ๆ เป็น idea ครับ

ตัว code ยังคงมี bug บางส่วน และไม่สมบูรณ์ 100% ครับ แนะนำให้ศึกษาและปรับแก้ถ้าเจอข้อผิดพลาดครับผม

code support for PHP 5.2.x

« แก้ไขครั้งสุดท้าย: 24 มกราคม 2008, 16:43:14 โดย Ford AntiTrust » Share topic : บันทึกการเข้า

PHP Web Developer, .NET/Java Platform Developer, Database/SEO Consultant, Ubuntu Linux, Drupal Implementer
rtee
Stager Tier 4
****


จิตพิสัย: 18
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 989

สมาชิกลำดับที่ 4240

Posting Frequency










 ระดับถัดไป:
 61.29% ( 19 / 31 )

« ตอบ #4 เมื่อ: 24 มกราคม 2008, 16:40:04 »

^
^
สุดยอดอ่ะ

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
few
บุคคลทั่วไป
« ตอบ #5 เมื่อ: 24 มกราคม 2008, 23:36:34 »

แจกอย่างนี้เลยรึ ฟอร์ด ฮ่าๆๆ เจ๋งโครต

Share topic : บันทึกการเข้า
naamning
Naive Member
***


จิตพิสัย: 0
ออฟไลน์ ออฟไลน์

กระทู้: 4

สมาชิกลำดับที่ 19874

Posting Frequency










 ระดับถัดไป:
 50% ( 1 / 2 )

« ตอบ #6 เมื่อ: 24 มกราคม 2008, 23:52:46 »

 Afro สุดยอดมากๆ

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
rtee
Stager Tier 4
****


จิตพิสัย: 18
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 989

สมาชิกลำดับที่ 4240

Posting Frequency










 ระดับถัดไป:
 61.29% ( 19 / 31 )

« ตอบ #7 เมื่อ: 25 มกราคม 2008, 09:05:51 »

แล้วถ้า อัพโหลด พร้อมกับ resize image ไปด้วยอ่ะครับ.... อย่างเช่น ภาพขนาด 800*600 พออัพขึ้นไปก็ลดขนาดเป็น 400*300 เป็นต้นน่ะครับ

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
Ford AntiTrust
Thaiadmin VIP
*****

 Thaiadmin Writer


จิตพิสัย: 36
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 213

สมาชิกลำดับที่ 523

Posting Frequency


ความง่าย ไม่เคยทำให้ใครเก่ง


เว็บไซต์






 ระดับถัดไป:
 30% ( 3 / 10 )

« ตอบ #8 เมื่อ: 25 มกราคม 2008, 09:52:57 »

โค๊ด: Select | Copy
function ImgResizer ($width, $height, $inputFilePath, $outputFilePath) {
    if(!file_exists($inputFilePath)) return false;
// Get image file info
$imageInfo = getImageSize($inputFilePath) ;
// Get new dimensions
$widthOriginal = $imageInfo[0]; // width
$heightOriginal = $imageInfo[1]; // height
if ($width && ($widthOriginal < $heightOriginal)) $width = ($height / $heightOriginal) * $widthOriginal;
else $height = ($width / $widthOriginal) * $heightOriginal;
// Content type
switch ($imageInfo['mime']) {
case 'image/gif':
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromgif($inputFilePath);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthOriginal, $heightOriginal); // Resample
imagegif($image_p, $outputFilePath, 100); // Output
return true;
case 'image/jpeg':
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($inputFilePath);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthOriginal, $heightOriginal); // Resample
imagejpeg($image_p, $outputFilePath, 100); // Output
return true;
case 'image/png':
$image_p = imagecreatetruecolor($width, $height);
            imagealphablending($image_p, false);
$image = imagecreatefrompng($inputFilePath);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $widthOriginal, $heightOriginal); // Resample
            imagesavealpha($image_p, true);
imagepng($image_p, $outputFilePath, 0); // Output
return true;
}
}

ก็ใส่ function ImgResizer นี้ไปก่อน

แล้วก็ ActionUpload จะได้ path ไฟล์ที่เป็นปลายทาง แล้วเอาปลายทางนั้นแหละมา resize อีกทีนึง

โดยการจะ resize ก็ตรวจสอบพวก error code หรือพวก status ต่าง ๆ ก่อนว่า upload ได้หรือไม่ก่อน ไม่งั้นมันจะไป resize รูปแล้วได้วาง ๆ กลับมา

โค๊ด: Select | Copy
   if(count($status['destination']) > 0 ) {
        foreach( $status['destination'] as $key=>$destination) {
            if($status['status'][$key]['bool'] === true)
                ImgResizer( /*W*/ 100, /*H*/ 100,  /*Read from ....*/ $destination, /*Write to ....*/ 'tmb_'.$destination );
        }
    }

จริง ๆ ตัวนี้เป็น Scale Image มากกว่า resize ครับ คือมันจะวัดเป็นสัดส่วนมากกว่า เพื่อคงสัดส่วนของภาพให้คงที่ทั้งด้านกว้างและยาวครับ



Confirmed by:

« แก้ไขครั้งสุดท้าย: 25 มกราคม 2008, 09:58:58 โดย Ford AntiTrust » Share topic : บันทึกการเข้า

PHP Web Developer, .NET/Java Platform Developer, Database/SEO Consultant, Ubuntu Linux, Drupal Implementer
Doraemee
Proficient Level 5
*****


จิตพิสัย: 0
ออฟไลน์ ออฟไลน์

กระทู้: 182

สมาชิกลำดับที่ 22897

Posting Frequency










 ระดับถัดไป:
 20% ( 2 / 10 )

« ตอบ #9 เมื่อ: 2 กุมภาพันธ์ 2008, 10:32:32 »

ขอบคุณมากคับที่กันตอบคอบคุณค๊าบผม . . . Afro

Share topic : บันทึกการเข้า

<b>กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย</b>
กลุ่มผู้ดูแลระบบแห่งประเทศไทย
   


โปรดอ่านกฎกติกาก่อนแสดงความคิดเห็น


1. โปรดงดเว้น การใช้คำหยาบคาย ส่อเสียด ดูหมิ่น กล่าวหาให้ร้าย สร้างความแตกแยก หรือกระทบถึงสถาบันอันเป็นที่เคารพ
2. ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นเวบบอร์ดโดยอัตโนมัติจากบุคคลทั่วไปและสมาชิก
ซึ่งทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย มิได้มีส่วนร่วมรู้เห็น หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น
และไม่สามารถนำไปอ้างอิงทางกฎหมายได้
3. หากท่านพบเห็นข้อความ หรือรูปภาพในกระทู้ที่ไม่เหมาะสม กรุณาแจ้งทีมงานทราบ เพื่อดำเนินการต่อไป
4. ทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอสงวนสิทธิ์ในการลบความคิดเห็น โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของความคิดเห็นนั้น

 บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » Web Development » หัวข้อ:
|-+ อยาได้ code เกี่ยวกับการนำ upfile รูปภาพ โดย ใช้ php กับ Mysql


 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 Thaiadmin Edition | Sitemap| SMF © 2013, Simple Machines
Thai Language by ThaiSMF. Modifications by Thailand System Administrator Group.
Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.089 วินาที กับ 46 คำสั่ง

Google visited last this page 11 เมษายน 2014, 02:47:12