色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php 上傳圖片并生成縮略圖

PHP是一種通用的開源腳本語言,能夠在Web服務(wù)器上運(yùn)行,特別適用于web開發(fā)。PHP支持圖片上傳并生成縮略圖,這在開發(fā)中是經(jīng)常遇到的需求。接下來,我們將介紹如何使用PHP實(shí)現(xiàn)上傳圖片并生成縮略圖。
上傳圖片是前端開發(fā)中常用的功能。假設(shè)我們的上傳頁面如下所示:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upload_image">
<input type="submit" name="submit" value="Upload">
</form>

在這里,我們使用HTML表單來向服務(wù)器上傳文件。表單的action屬性指定了上傳文件的PHP腳本位置,即upload.php。enctype屬性指定了表單數(shù)據(jù)的編碼方式,我們使用multipart/form-data來支持文件上傳。
在后端,我們可以使用$_FILES數(shù)組來處理上傳的文件。我們可以使用$_FILES數(shù)組的name屬性獲取上傳文件的名稱,使用type屬性獲取文件類型,使用size屬性獲取文件大小。
if(isset($_POST['submit'])){
$file_name = $_FILES['upload_image']['name'];
$file_type = $_FILES['upload_image']['type'];
$file_size = $_FILES['upload_image']['size'];
}

接下來,我們需要在服務(wù)器上將上傳的文件保存下來。我們可以使用move_uploaded_file()函數(shù)將上傳文件移動(dòng)到指定目錄。
$upload_dir_path = './upload/';
$file_path = $upload_dir_path . $file_name;
if(move_uploaded_file($_FILES['upload_image']['tmp_name'],$file_path)){
echo "Upload Success!";
}else{
echo "Upload Failed!";
}

這里我們將上傳的文件保存在upload目錄下,并以上傳文件的原始名稱命名。move_uploaded_file()函數(shù)將$_FILES['upload_image']['tmp_name']中的臨時(shí)文件移動(dòng)到了$file_path。
接下來,我們需要生成上傳圖片的縮略圖。我們可以使用PHP的GD庫來實(shí)現(xiàn)。先檢查服務(wù)器上是否已經(jīng)安裝了GD庫:
if(!function_exists('gd_info')){
echo "GD Not Installed!";
exit;
}

然后,我們可以使用GD庫的函數(shù)來讀取上傳的圖片,調(diào)整大小并保存為縮略圖。
$src_imagename = $file_path;
$extension = pathinfo($src_imagename, PATHINFO_EXTENSION);
if ($extension == 'gif'){
$src_img = imagecreatefromgif($src_imagename);
} else if ($extension == 'jpg' || $extension == 'jpeg') {
$src_img = imagecreatefromjpeg($src_imagename);
} else if ($extension == 'png') {
$src_img = imagecreatefrompng($src_imagename);
} else {
echo 'Invalid Image Type';
exit;
}
$src_size = getimagesize($src_imagename);
$src_w = $src_size[0];
$src_h = $src_size[1];
$tgt_w = $src_w / 2;
$tgt_h = $src_h / 2;
$tgt_img = imagecreatetruecolor($tgt_w, $tgt_h);
imagecopyresampled($tgt_img, $src_img, 0, 0, 0, 0, $tgt_w, $tgt_h, $src_w, $src_h);
$thumb_image = './upload/thumb/'.$file_name;
if ($extension == 'gif') {
imagegif($tgt_img, $thumb_image);
} else if ($extension == 'jpg' || $extension == 'jpeg') {
imagejpeg($tgt_img, $thumb_image);
} else if ($extension == 'png') {
imagepng($tgt_img, $thumb_image);
}
imagedestroy($src_img);
imagedestroy($tgt_img);

我們首先獲取上傳圖片的類型,然后使用GD庫的函數(shù)讀取圖片并獲取其寬度和高度。在這里,我們將縮略圖的大小設(shè)置為上傳圖片的一半大小。然后,我們使用imagecreatetruecolor()函數(shù)創(chuàng)建一個(gè)新的圖片,并使用imagecopyresampled()函數(shù)將源圖像的一部分調(diào)整大小并復(fù)制到新圖像上,最后將新圖像保存為縮略圖。
完整的上傳并生成縮略圖的PHP腳本如下所示:
<?php
if(!function_exists('gd_info')){
echo "GD Not Installed!";
exit;
}
if(isset($_POST['submit'])){
$file_name = $_FILES['upload_image']['name'];
$file_type = $_FILES['upload_image']['type'];
$file_size = $_FILES['upload_image']['size'];
$upload_dir_path = './upload/';
$file_path = $upload_dir_path . $file_name;
if(move_uploaded_file($_FILES['upload_image']['tmp_name'],$file_path)){
echo "Upload Success!";
}else{
echo "Upload Failed!";
}
$src_imagename = $file_path;
$extension = pathinfo($src_imagename, PATHINFO_EXTENSION);
if ($extension == 'gif'){
$src_img = imagecreatefromgif($src_imagename);
} else if ($extension == 'jpg' || $extension == 'jpeg') {
$src_img = imagecreatefromjpeg($src_imagename);
} else if ($extension == 'png') {
$src_img = imagecreatefrompng($src_imagename);
} else {
echo 'Invalid Image Type';
exit;
}
$src_size = getimagesize($src_imagename);
$src_w = $src_size[0];
$src_h = $src_size[1];
$tgt_w = $src_w / 2;
$tgt_h = $src_h / 2;
$tgt_img = imagecreatetruecolor($tgt_w, $tgt_h);
imagecopyresampled($tgt_img, $src_img, 0, 0, 0, 0, $tgt_w, $tgt_h, $src_w, $src_h);
$thumb_image = './upload/thumb/'.$file_name;
if ($extension == 'gif') {
imagegif($tgt_img, $thumb_image);
} else if ($extension == 'jpg' || $extension == 'jpeg') {
imagejpeg($tgt_img, $thumb_image);
} else if ($extension == 'png') {
imagepng($tgt_img, $thumb_image);
}
imagedestroy($src_img);
imagedestroy($tgt_img);
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upload_image">
<input type="submit" name="submit" value="Upload">
</form>

使用這個(gè)PHP腳本,我們可以輕松上傳圖片并生成縮略圖。這對(duì)于需要在網(wǎng)站中顯示大量圖片的網(wǎng)站非常有用。