[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."; }