php高效快速获取图片尺寸的方法
在 php 获取图片尺寸的方法我们可以使用 getimagesize 获取图片尺寸的效率是很低的,首先需要获取整个的图片信息,然后再进行操作,下面的例子更科学算法更好,我们一起来看看吧。
下方法可以用于快速获取图片尺寸信息
1.获取JPEG格式图片的尺寸信息
<?php /* * 获取JPEG格式图片的尺寸信息,并且不需要下载/读取整个图片。 * 经测试这个函数不是对所有JPEG格式的图片都有效。 * http://www.phprm.com */ // Retrieve JPEG width and height without downloading/reading entire image. function getjpegsize($img_loc) { $handle = fopen($img_loc, "rb") or die("Invalid file stream."); $new_block = NULL; if(!feof($handle)) { $new_block = fread($handle, 32); $i = 0; if($new_block[$i]=="xFF" && $new_block[$i+1]=="xD8" && $new_block[$i+2]=="xFF" && $new_block[$i+3]=="xE0") { $i += 4; if($new_block[$i+2]=="x4A" && $new_block[$i+3]=="x46" && $new_block[$i+4]=="x49" && $new_block[$i+5]=="x46" && $new_block[$i+6]=="x00") { // Read block size and skip ahead to begin cycling through blocks in search of SOF marker $block_size = unpack("H*", $new_block[$i] . $new_block[$i+1]); $block_size = hexdec($block_size[1]); while(!feof($handle)) { $i += $block_size; $new_block .= fread($handle, $block_size); if($new_block[$i]=="xFF") { // New block detected, check for SOF marker $sof_marker = array("xC0", "xC1", "xC2", "xC3", "xC5", "xC6", "xC7", "xC8", "xC9", "xCA", "xCB", "xCD", "xCE", "xCF"); if(in_array($new_block[$i+1], $sof_marker)) { // SOF marker detected. Width and height information is contained in bytes 4-7 after this byte. $size_data = $new_block[$i+2] . $new_block[$i+3] . $new_block[$i+4] . $new_block[$i+5] . $new_block[$i+6] . $new_block[$i+7] . $new_block[$i+8]; $unpacked = unpack("H*", $size_data); $unpacked = $unpacked[1]; $height = hexdec($unpacked[6] . $unpacked[7] . $unpacked[8] . $unpacked[9]); $width = hexdec($unpacked[10] . $unpacked[11] . $unpacked[12] . $unpacked[13]); return array($width, $height); } else { // Skip block marker and read block size $i += 2; $block_size = unpack("H*", $new_block[$i] . $new_block[$i+1]); $block_size = hexdec($block_size[1]); } } else { return FALSE; } } } } } return FALSE; } ?>
2.
$url='http://www.phprm.com /images/201203/08/1331189004_28093400.jpg'; $image_content = file_get_contents($url); $image = imagecreatefromstring($image_content); $width = imagesx($image); $height = imagesy($image); echo $width.'*'.$height."nr";
文章网址:
随意转载^^但请附上教程地址。

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Bagaimana untuk menyelesaikan PHPWarning:fopen():SSLoperationfailedinfile.phponlineX Dalam pengaturcaraan PHP, kami sering menggunakan fungsi fopen untuk membuka fail atau URL dan melaksanakan operasi yang berkaitan. Walau bagaimanapun, apabila menggunakan fungsi fopen, kadangkala anda akan menghadapi sesuatu yang serupa dengan Warning:fopen():SSLoperationfailedinfile.p

Bagaimana untuk menyelesaikan PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory Dalam proses menggunakan pembangunan PHP, kita sering menghadapi beberapa masalah pengendalian fail, salah satunya ialah "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"

Bagaimana untuk menyelesaikan PHPWarning:fopen():failedtoopenstream:Permissiondenied Dalam proses membangunkan atur cara PHP, kita sering menghadapi beberapa mesej ralat, seperti PHPWarning:fopen():failedtoopenstream:Permissiondenied. Ralat ini biasanya disebabkan oleh kebenaran fail atau direktori yang salah

Dalam Matlab, fungsi fopen digunakan untuk membuka fail dan mengembalikan pengecam fail untuk operasi membaca atau menulis seterusnya pada fail. Pilih pilihan kebenaran yang sesuai untuk membuka fail seperti yang diperlukan, dan segera tutup fail apabila operasi selesai. Perlu diingatkan bahawa selepas membuka fail, anda perlu memastikan bahawa fail itu ditutup dalam masa apabila ia tidak lagi diperlukan untuk melepaskan sumber sistem. Di samping itu, jika pembukaan fail gagal atau ralat operasi berlaku, mekanisme pengendalian ralat boleh digunakan untuk mengendalikannya dengan sewajarnya.

Kaedah fopen() dalam C digunakan untuk membuka fail yang ditentukan. Mari kita ambil contoh untuk memahami sintaks masalah FILE*fopen(nama fail, mod yang berikut adalah mod yang sah untuk menggunakan fopen() untuk membuka fail: 'r', 'w', 'a', 'r+', 'w+. ', 'a+'. Untuk maklumat lanjut, sila lawati fungsi perpustakaan C-fopen()

Dalam pembangunan PHP, operasi fail adalah sangat biasa. Dalam keadaan biasa, kita perlu melakukan operasi membaca, menulis, memadam dan lain-lain fail. Antaranya, fungsi fopen dan fungsi fread boleh digunakan untuk membaca fail, dan fungsi fopen, fungsi fwrite dan fungsi fclose boleh digunakan untuk menulis fail. Artikel ini akan memperkenalkan cara PHP menggunakan fopen, fwrite dan fclose untuk melaksanakan operasi fail. 1. fungsi fopen Fungsi fopen digunakan untuk membuka fail Sintaksnya adalah seperti berikut: r

Bagaimana untuk menyelesaikan PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectoryinfile.phponlineX Apabila membangunkan dan menjalankan program PHP, kadangkala kita menghadapi PHPWarning:fopen():failedtoopenstream:Nosuchfileor

Penggunaan fungsi fopen dalam php ialah "fopen(nama fail, mod, include_path, konteks)". Fungsi fopen() digunakan untuk membuka fail atau URL Jika gagal, ia mengembalikan palsu dengan mesej ralat.
