Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Memproses dan memuat naik fail imej menggunakan PHP

Memproses dan memuat naik fail imej menggunakan PHP

WBOY
WBOYasal
2023-06-19 16:45:071042semak imbas

Dengan perkembangan Internet yang berterusan, penggunaan fail imej dalam laman web menjadi semakin biasa. Apabila membangunkan tapak web, anda selalunya perlu membenarkan pengguna memuat naik fail imej dan kemudian memprosesnya. Ini memerlukan pembangun membiasakan diri dengan cara menggunakan PHP untuk memproses dan memuat naik fail imej.

1. Muat naik fail imej

Dalam PHP, kami boleh menggunakan $_FILES untuk mendapatkan fail yang dimuat naik Memproses fail imej yang dimuat naik memerlukan langkah berikut:

  1. Tentukan. direktori untuk memuat naik fail

Pertama, kita perlu menentukan direktori untuk memuat naik fail. Kita boleh mendapatkan laluan sementara fail yang dimuat naik dengan menetapkan "fail" $_FILES.

  1. Tetapkan jenis fail yang dimuat naik

Seterusnya, kita perlu menetapkan jenis fail yang dimuat naik. Biasanya, kami hanya membenarkan memuat naik fail imej dalam format jpg dan png, yang boleh ditetapkan menggunakan kod berikut:

$allowed = array('jpg', 'png');
if(! in_array (strtolower(pathinfo($_FILES["fail"]["nama"], PATHINFO_EXTENSION)), $allowed)){
echo "Hanya fail imej dalam format jpg dan png dibenarkan untuk dimuat naik";
exit( );
}

  1. Memproses fail yang dimuat naik

Terdapat dua situasi utama untuk memproses fail yang dimuat naik: mengalihkan fail yang dimuat naik ke direktori yang ditentukan; menyesuaikan diri. Kedua-dua situasi ini diperkenalkan di bawah.

Kes 1: Alihkan fail yang dimuat naik ke direktori yang ditentukan. Berikut ialah kod contoh:

$target_dir = "uploads/";
$target_file = $target_dir . fail "]["tmp_name"], $target_file)) {
echo "Fail berjaya dimuat naik";
} lagi {
echo "Fail dimuat naik gagal";
}

Tidak. Dua situasi: Memampatkan dan melaraskan fail yang dimuat naik boleh dicapai menggunakan perpustakaan GD dalam PHP. Berikut ialah kod contoh:

$src_image = imagecreatefromjpeg($_FILES"file"); // Tetapkan imej asal

$dst_image = imagescale($src_image, 300); Saiz imej
imagepng($dst_image, 'new_image.png'); // Imej sasaran output

Kod di atas akan menukar fail imej jpg yang dimuat naik ke dalam format png dan melaraskannya kepada imej dengan lebar daripada 300 piksel dokumen.

2. Memproses fail imej

Setelah fail berjaya dimuat naik, kami boleh mula memproses fail imej. Berikut ialah beberapa cara untuk memproses fail imej.

    Pangkas imej
Untuk memangkas imej, anda boleh menggunakan fungsi imagecrop() Berikut ialah kod contoh:

$src_image = imagecreatefrompng('image.png '); // Tetapkan imej asal

$dst_image = imagecrop($src_image, ['x' => 100, 'y' => 100, 'width' => 200 , 'height' => ; 200]); // Tetapkan imej sasaran
imagepng($dst_image, 'cropped_image.png'); // Keluarkan imej sasaran

Kod di atas akan memotong image.png fail imej ke dalam imej 200x200 dan output sebagai fail cropped_image.png.

    Tambah tera air
Untuk menambah tera air, anda boleh menggunakan fungsi imagecopy() dan fungsi imagettftext() Berikut ialah kod sampel:

$src_image = imagecreatefrompng ('image.png'); // Tetapkan imej asal

$watermark = imagecreatefrompng('watermark.png'); // Tetapkan tera air
imagecopymerge($src_image, $watermark, 10, 10, 0 , 0, imagesx($watermark), imagesy($watermark), 30); // Tambahkan tera air pada imej asal
imagettftext($src_image, 30, 0, 200, 200, imagecolorallocate($ src_image, 255, 255 , 255), 'font.ttf', 'My watermark'); // Tambah tanda air teks
imagepng($src_image, 'watermarked_image.png'); // Output watermarked image

dan ke atas Kod akan menambah fail imej tera air.png ke penjuru kiri sebelah atas imej imej.png dan menambah teks tera air "Tanda air saya".

    Tukar warna imej
Untuk menukar warna imej, anda boleh menggunakan fungsi imagefilter() Berikut ialah kod sampel:

$ src_image = imagecreatefrompng('image .png'); // Tetapkan imej asal

imagefilter($src_image, IMG_FILTER_GRAYSCALE); // Tukar imej kepada skala kelabu
imagepng($src_image, 'grayscale_image.png'); // Output Grey Degree Image

Kod di atas akan menukar imej image.png kepada imej skala kelabu dan mengeluarkannya sebagai fail grayscale_image.png.

Ringkasan

Melalui pengenalan di atas, kita dapat melihat beberapa isu dan penyelesaian yang perlu diberi perhatian semasa memproses dan memuat naik fail imej dalam PHP. Jika anda perlu menggunakan fail imej dalam tapak web anda, kaedah ini boleh membantu anda melaksanakan fungsi dengan cepat. Sudah tentu, pengenalan di atas hanyalah asas, dan operasi pemprosesan imej yang lebih kompleks memerlukan pembangun menyesuaikan diri mengikut situasi sebenar.

Atas ialah kandungan terperinci Memproses dan memuat naik fail imej menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn