


Bagaimana untuk mengeluarkan imej dalam PHP? (Penjelasan terperinci tentang legenda)
Oct 19, 2021 pm 03:44 PMDalam artikel sebelumnya, saya membawakan anda "Bagaimana untuk memuat naik fail dengan PHP? Anda akan faham selepas membacanya! 》, yang memperkenalkan anda secara terperinci cara memuat naik fail dalam PHP Dalam artikel ini, mari kita lihat pengetahuan berkaitan pemprosesan imej dalam PHP.
Pemprosesan imej ialah sesuatu yang sering ditemui dalam kerja PHP Kami menghadapi banyak senario di mana kami perlu memproses imej, seperti kod pengesahan imej, tera air imej, dll. Sebenarnya, fokus pembelajaran pemprosesan imej sebenarnya adalah untuk mempelajari fungsi sistem GD dalam PHP Pemprosesan imej dalam PHP memerlukan sokongan perpustakaan GD, jadi mari kita lihat dahulu pengetahuan yang berkaitan tentang perpustakaan GD.
Pustaka GD
Pustaka GD boleh difahami sebagai perpustakaan fungsi untuk mencipta imej grafik sebenarnya Ia ditulis dalam bahasa C dan boleh digunakan dalam PHP Selain PHP, ia juga boleh digunakan dalam bahasa Perl dan pustaka GD menyediakan banyak antara muka untuk memproses imej PHP Perpustakaan boleh melukis pelbagai imej grafik, carta statistik, dan kod pengesahan imej pada halaman, dan juga boleh dilaksanakan menggunakan perpustakaan GD.
Contoh adalah seperti berikut:
<?php phpinfo(); ?>
Atau anda boleh menggunakan:
<?php print_r(gd_info()); ?>
Jika ia tidak dipasang, anda juga boleh menukar item "extension=php_gd2.dll" dalam fail konfigurasi php.ini di bawah sistem Windows Sebelum ini kaedah pemadaman ulasan selesai.
Dalam PHP, operasi pemprosesan imej melalui perpustakaan GD secara amnya dibahagikan kepada 4 langkah asas:
- Buat kanvas
- Lukis imej
- Imej output
- Keluarkan sumber
- Kami telah selesai melalui empat ini langkah Sekarang setelah anda mengetahui operasi asas pada imej, mari kita lihat cara mengendalikannya.
Buat kanvasSemua lukisan dan pemprosesan imej kami perlu dilakukan pada imej latar belakang, iaitu kanvas, yang boleh difahami sebagai Untuk imej, kami mempunyai kawasan sementara dalam ingatan sebagai kanvas untuk menyimpan maklumat imej Operasi imej masa hadapan akan dilakukan pada kawasan ini, iaitu kanvas.
digunakan untuk mencipta kanvas format sintaksnya adalah seperti berikut: imagecreate()
imagecreatetruecolor()
imagecreate(int $width, int $height) imagecreatetruecolor(int $width, int $height)
Kedua-dua fungsi ini boleh digunakan untuk mencipta kanvas, tetapi perbezaannya ialah julat warna yang boleh mereka tampung adalah berbeza.
Contohnya adalah seperti berikut:
<?php $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失?。?amp;#39;); ?>Hasil keluaran:
<?php $img = @imagecreatetruecolor(120, 20) or die('畫布創(chuàng)建失??!'); echo '畫布的寬度為:'.imagesx($img).'像素'; echo '<br>畫布的高度為:'.imagesy($img).'像素'; ?>
Daripada ini kami telah selesai membuat kanvas .
Selain menggunakan dua fungsi di atas untuk mencipta kanvas, anda juga boleh mencipta imej melalui fail atau URL dengan cara berikut:
- : melalui Fail GIF atau URL Cipta imej baharu
imagecreatefromgif()
- : Cipta imej baharu melalui fail JPEG atau UR L Cipta imej baharu
imagecreatefromjpeg()
- : Cipta imej baharu melalui fail atau URL WBMP
imagecreatefrompng()
Imej output
imagecreatefromwbmp()
: Keluarkan imej format JPEG ke penyemak imbas atau fail
- : Keluarkan imej format PNG ke penyemak imbas atau fail
imagegif()
Format sintaksnya adalah seperti berikut: imagegif(resource $image[, string $filename]) imagejpeg(resource $image[, string $filename[, int $quality]]) imagepng(resource $image[, string $filename])
其中,$image為創(chuàng)建的一個(gè)圖像資源;$filename表示為參數(shù),用來設(shè)置文件需要保存的路徑。
示例如下:
首先我在根目錄中已經(jīng)保存了一個(gè)名為php.png的圖像文件
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); ?>
輸出結(jié)果:
通過imagecreatefrompng()函數(shù)和imagepng()成功的輸出了一個(gè)格式為png的圖片。
釋放圖像資源
通過上述示例已經(jīng)成功的輸出了圖片,在圖片的資源使用完成后,通常需要釋放圖像處理時(shí)所占用的內(nèi)存,那應(yīng)該怎樣操作呢?
在PHP中我們通過imagedestroy() 函數(shù)來釋放圖像資源,語法格式如下:
imagedestroy(resource $image)
其中$image表示需要釋放資源的圖像
示例如下:
<?php header('Content-type:image/jpeg'); $image= imagecreatefrompng('php.png'); imagepng($image); imagedestroy($image); ?>
因?yàn)獒尫艌D像資源的操作是沒有輸出內(nèi)容的,所以就不列出輸出結(jié)果了。
推薦學(xué)習(xí):《PHP視頻教程》
Atas ialah kandungan terperinci Bagaimana untuk mengeluarkan imej dalam PHP? (Penjelasan terperinci tentang legenda). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam PHP, anda boleh menggunakan kurungan persegi atau pendakap keriting untuk mendapatkan aksara indeks spesifik rentetan, tetapi kurungan persegi disyorkan; Indeks bermula dari 0, dan akses di luar julat mengembalikan nilai null dan tidak dapat diberikan nilai; MB_SUBSTR dikehendaki mengendalikan watak multi-bait. Sebagai contoh: $ str = "hello"; echo $ str [0]; output h; dan watak -watak Cina seperti MB_SUBSTR ($ str, 1,1) perlu mendapatkan hasil yang betul; Dalam aplikasi sebenar, panjang rentetan perlu diperiksa sebelum gelung, rentetan dinamik perlu disahkan untuk kesahihan, dan projek berbilang bahasa mengesyorkan menggunakan fungsi keselamatan multi-bait secara seragam.

Ageneratorinphpisamemory-efficientwaytoiterateOverlargedatasetsbyieldingvaluesonateatimeNsteadofreturningthemallatonce.1.GeneratorSuseTheyEldeyWorderWorderToProducevaluuesondemand,

Untuk mengelakkan rampasan sesi dalam PHP, langkah -langkah berikut perlu diambil: 1. Gunakan HTTPS untuk menyulitkan penghantaran dan set session.cookie_secure = 1 dalam php.ini; 2. Tetapkan atribut kuki keselamatan, termasuk httponly, selamat dan samesite; 3. Panggil session_regenerate_id (benar) apabila pengguna log masuk atau keizinan berubah menjadi berubah menjadi SesiSeId; 4. Hadkan kitaran hayat sesi, konfigurasi GC_MAXLIFETIME dan rekod masa aktiviti pengguna; 5. melarang mendedahkan sessionId ke url, dan tetapkan session.use_only

Fungsi urlencode () digunakan untuk menyandikan rentetan ke dalam format selamat URL, di mana aksara bukan alphanumerik (kecuali-, _, dan.) Digantikan dengan tanda peratus diikuti oleh nombor heksadesimal dua angka. Sebagai contoh, ruang ditukar kepada tanda-tanda, tanda seru ditukar kepada!, Dan watak-watak Cina ditukar kepada borang pengekodan UTF-8 mereka. Apabila menggunakan, hanya nilai parameter yang perlu dikodkan, bukan keseluruhan URL, untuk mengelakkan merosakkan struktur URL. Untuk bahagian lain URL, seperti segmen laluan, fungsi Rawurlencode () harus digunakan, yang menukarkan ruang ke. Apabila memproses parameter array, anda boleh menggunakan http_build_query () untuk mengodkan secara automatik, atau memanggil urlencode secara manual () pada setiap nilai untuk memastikan pemindahan data yang selamat. Hanya

Anda boleh menggunakan substr () atau mb_substr () untuk mendapatkan aksara n pertama dalam php. Langkah -langkah khusus adalah seperti berikut: 1. Gunakan substr ($ string, 0, n) untuk memintas aksara N yang pertama, yang sesuai untuk aksara ASCII dan mudah dan cekap; 2. Apabila memproses aksara multi-bait (seperti Cina), MB_SUBSTR ($ String, 0, N, 'UTF-8'), dan memastikan bahawa lanjutan MBSTRING diaktifkan; 3. Jika rentetan mengandungi aksara HTML atau Whitespace, anda harus terlebih dahulu menggunakan strip_tags () untuk mengeluarkan tag dan trim () untuk membersihkan ruang, dan kemudian memintasnya untuk memastikan hasilnya bersih.

Terdapat dua cara utama untuk mendapatkan aksara N terakhir rentetan dalam PHP: 1. Gunakan fungsi substr () untuk memintas melalui kedudukan permulaan negatif, yang sesuai untuk aksara tunggal-bait; 2. Gunakan fungsi MB_SUBSTR () untuk menyokong pengekodan berbilang bahasa dan UTF-8 untuk mengelakkan pemotongan aksara bukan bahasa Inggeris; 3. Secara pilihan menentukan sama ada panjang rentetan cukup untuk mengendalikan situasi sempadan; 4. Ia tidak disyorkan untuk menggunakan kaedah kombinasi STRREV () Substr () kerana ia tidak selamat dan tidak cekap untuk aksara multi-bait.

Untuk menetapkan dan mendapatkan pembolehubah sesi dalam PHP, anda mesti terlebih dahulu memanggil session_start () di bahagian atas skrip untuk memulakan sesi. 1. Apabila menetapkan pembolehubah sesi, gunakan $ _Session hyperglobal array untuk memberikan nilai kepada kekunci tertentu, seperti $ _Session ['username'] = 'john_doe'; Ia boleh menyimpan rentetan, nombor, tatasusunan dan juga objek, tetapi elakkan menyimpan terlalu banyak data untuk mengelakkan mempengaruhi prestasi. 2. Apabila mendapatkan pembolehubah sesi, anda perlu menghubungi session_start () terlebih dahulu, dan kemudian mengakses array $ _Session melalui kunci, seperti echo $ _Session ['username']; disyorkan untuk menggunakan isset () untuk memeriksa sama ada pembolehubah wujud untuk mengelakkan kesilapan

Kaedah utama untuk mencegah suntikan SQL dalam PHP termasuk: 1. Gunakan pernyataan pra -proses (seperti PDO atau MySQLI) untuk memisahkan kod dan data SQL; 2. Matikan mod preprocessing simulasi untuk memastikan pra -proses yang benar; 3. Penapis dan sahkan input pengguna, seperti menggunakan is_numeric () dan filter_var (); 4. Elakkan secara langsung splicing rentetan SQL dan gunakan parameter mengikat sebaliknya; 5. Matikan paparan ralat dalam persekitaran pengeluaran dan log ralat rekod. Langkah -langkah ini secara komprehensif menghalang risiko suntikan SQL dari mekanisme dan butiran.
