国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP實現(xiàn)圖片上傳與裁剪功能

WBOY
發(fā)布: 2023-06-23 09:31:35
原創(chuàng)
1873人瀏覽過

php作為一種常用的后端編程語言,在網站開發(fā)領域有著廣泛的應用。其中,圖片上傳以及裁剪是網站開發(fā)中常用的功能之一。下面將介紹如何使用php實現(xiàn)圖片上傳與裁剪功能。

一、圖片上傳功能

首先介紹圖片上傳功能的實現(xiàn)。以下代碼為一個簡單的圖片上傳功能的實現(xiàn):

<html>
    <head>
        <meta charset="UTF-8">
        <title>圖片上傳</title>
    </head>
    <body>
        <form action="upload.php" method="post" enctype="multipart/form-data">
            <input type="file" name="file">
            <input type="submit" value="上傳">
        </form>
    </body>
</html>
登錄后復制

這個頁面中有一個表單,表單的action屬性指向一個名為upload.php的處理腳本。表單的enctype屬性必須設置為“multipart/form-data”,才能上傳二進制文件。這里提供了一個簡單的表單,可以根據需要進行修改。

下面是upload.php的處理腳本:

立即學習PHP免費學習筆記(深入)”;

<?php
// 指定文件上傳的目錄
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);

// 獲取文件類型
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// 檢查文件是否是圖片
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["file"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// 如果文件已經存在,提示并退出
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// 檢查文件大小
if ($_FILES["file"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// 允許上傳的圖片類型
if($imageFileType != "jpg" && $imageFileType != "jpeg" && $imageFileType != "png" && $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// 如果沒有錯誤,進行文件上傳
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
} else {
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["file"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>
登錄后復制

該腳本首先獲取上傳的文件處理目標路徑和文件類型,再進行文件類型以及文件大小的檢查。如果文件類型和大小都符合標準,則進行文件上傳,否則提示錯誤信息。

二、圖片裁剪功能

圖片裁剪功能是指在上傳圖片之后,對圖片進行裁剪等處理,使得圖片大小、比例等符合要求。下面介紹如何利用PHP實現(xiàn)圖片裁剪功能。在本文中,我們使用PHP庫——GD庫來進行圖片的處理。

  1. 安裝GD庫

在使用GD庫之前,需要保證該庫已經被安裝,否則需要進行安裝。在Linux系統(tǒng)中,可以通過下列命令安裝GD庫:

sudo apt-get install php7.2-gd
登錄后復制

在Windows系統(tǒng)中,在php的配置文件php.ini中找到如下語句:

;extension=php_gd2.dll
登錄后復制

將其變?yōu)椋?/p>

extension=php_gd2.dll
登錄后復制

保存并重啟php即可。

  1. 裁剪圖片

在使用GD庫之前,需要先將圖片載入到程序中??梢允褂肐magecreatefromjpeg()、Imagecreatefrompng()、Imagecreatefromgif()等函數(shù)載入不同格式的圖片。下面是一個簡單的裁剪程序:

//載入原圖
$src = imagecreatefromjpeg('test.jpg');

//裁剪原圖
$dst = imagecreatetruecolor(100, 100);
imagecopyresampled($dst, $src, 0, 0, 50, 50, 100, 100, 100, 100);

//保存裁剪后的圖片
imagejpeg($dst, 'test_crop.jpg');

//釋放原圖和裁剪后的圖片
imagedestroy($src);
imagedestroy($dst);
登錄后復制

該程序使用圖片處理函數(shù)imagecreatetruecolor()生成一張空白圖片,在使用imagecopyresampled()函數(shù)將原圖裁剪并復制到空白圖片中。最后使用imagejpeg()函數(shù)將裁剪后的圖片保存。

三、總結

在PHP中,使用上傳表單和GD庫可以輕易地實現(xiàn)上傳和裁剪圖片的功能。該功能在網站開發(fā)中非常常用,掌握基本的上傳和裁剪圖片的技巧,對于初學網站開發(fā)的同學有著不可估量的幫助。

以上就是PHP實現(xiàn)圖片上傳與裁剪功能的詳細內容,更多請關注php中文網其它相關文章!

PHP速學教程(入門到精通)
PHP速學教程(入門到精通)

PHP怎么學習?PHP怎么入門?PHP在哪學?PHP怎么學才快?不用擔心,這里為大家提供了PHP速學教程(入門到精通),有需要的小伙伴保存下載就能學習啦!

下載
相關標簽:
來源:php中文網
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網:公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網訂閱號
每天精選資源文章推送
PHP中文網APP
隨時隨地碎片化學習
PHP中文網抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號