[PDO] การอัพโหลดรูปภาพและการลบรูปภาพ

เป็นตัวอย่างเอาไว้ศึกษาการใช้งาน PDO ในการอัปโหลดรูปภาพและสามารถนำโค้ดมาดูย้อนหลังไว้เป็นกรณีศึกษาได้

อัพโหลดรูปภาพ

$name = $_POST['user_name']; // รับค่าจาก POST

$images = $_FILES['profile']['name']; // รับค่าจาก FILES
$tmp_dir = $_FILES['profile']['tmp_name']; // รับค่าจาก FILES

$upload_dir = 'uploads/';
$imgExt = strtolower( pathinfo( $images, PATHINFO_EXTENSION ) );
$valid_extensions = array( 'jpeg', 'jpg', 'png', 'gif', 'pdf' );
$picProfile = rand( 1000, 1000000 ) . "." . $imgExt;
move_uploaded_file( $tmp_dir, $upload_dir . $picProfile );// คำสั้งอัพโหลด move_uploaded_file

$stmt = $db_conn->prepare( 'INSERT INTO tb_name (username, picProfile) VALUES (:uname, :upic)' );
$stmt->bindParam( ':uname', $name );
$stmt->bindParam( ':upic', $picProfile );
if ( $stmt->execute() ) {
   echo "upload is success.";
}
else{
   echo "Error.";
}

ลบรูปภาพ

$stmt_select = $db_conn->prepare( 'SELECT * FROM tb_name WHERE id=:id' );
$stmt_select->execute( array( ':id' => $_GET['delete_id'] ) );
$imgRow = $stmt_select->fetch( PDO::FETCH_ASSOC );

@unlink( "uploads/" . $imgRow['picProfile'] ); // ลบภาพที่มีอยู่ในพาร์ทโฟลเดอร์ด้วย
$stmt_delete = $db_conn->prepare( 'DELETE FROM tb_name WHERE id =:id' );
$stmt_delete->bindParam( ':id', $_GET['delete_id'] );
if ( $stmt_delete->execute() ) {
   echo "delete is success.";
}

 
086-2887987
Line Official
Facebook Messenger
Twitter