Dans le domaine de la programmation PHP, il peut devenir fastidieux de récupérer les dimensions d'une image à l'aide de la fonction getimagesize par défaut lorsqu'il s'agit d'un grand volume d’images distantes. Pour résoudre ce goulot d'étranglement, examinons une approche alternative qui promet des performances ultra-rapides.
En tirant parti de la fonction file_get_contents, nous ne pouvons lire qu'un nombre limité d'octets à partir d'une image. Ces données peuvent ensuite être minutieusement examinées pour déterminer les dimensions de l'image.
Pour se lancer dans cette approche, considérons l'extrait de code suivant :
<code class="php">function ranger($url){ $headers = array( "Range: bytes=0-32768" ); $curl = curl_init($url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); return $data; } $start = microtime(true); $url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg"; $raw = ranger($url); $im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im); $stop = round(microtime(true) - $start, 5); echo $width." x ".$height." ({$stop}s)";</code>
Cette fonction utilise la fonction ranger pour récupérer un petite partie des données d’image. Par la suite, imagecreatefromstring est utilisé pour générer une ressource image à partir des données récupérées. Enfin, imagesx et imagesy nous fournissent respectivement la largeur et la hauteur de l'image.
Mise à l'épreuve avec une URL d'image, cette approche a fait preuve d'une rapidité impressionnante, comme on le voit ci-dessous :
640 x 480 (0.20859s)
Dans ce cas, l'extraction des dimensions de l'image n'a pris que 0,20859 seconde, ce qui met en évidence l'efficacité de cette méthode.
En exploitant la puissance de la lecture d'une quantité limitée de données à partir d'images distantes, nous avons mis au point une méthode remarquablement rapide. et efficace pour obtenir les dimensions d'une image en PHP. Cette technique vous permet de relever le défi du traitement de nombreuses images avec facilité et rapidité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!