PHPSviluppo

URL valido in PHP

In questo articolo vedremo un codice in linguaggio PHP che può essere utilizzato per scaricare un’immagine da un URL. Il codice utilizza la libreria cURL per eseguire la richiesta HTTP all’URL specificato e ottenere il contenuto dell’immagine.

Per impostare un limite di tempo massimo per l’esecuzione della richiesta, il codice utilizza la funzione “set_time_limit” e imposta il valore a 180 secondi.

Successivamente, viene definita l’URL dell’immagine che si desidera scaricare e viene inizializzato un nuovo oggetto cURL con la funzione “curl_init” che prende come parametro l’URL.

Con la funzione “curl_setopt“, vengono impostati alcuni parametri per la richiesta cURL. In particolare, si imposta la costante “CURLOPT_RETURNTRANSFER” a “TRUE” per indicare che la funzione “curl_exec” deve restituire il risultato della richiesta sotto forma di stringa.

Dopo aver eseguito la richiesta con la funzione “curl_exec“, viene utilizzata la funzione “curl_getinfo” per ottenere il codice HTTP della risposta. Se il codice HTTP è 404 o 503, viene stampato un messaggio di errore che indica l’errore e suggerisce di verificare la validità dell’URL.

Se invece il codice HTTP non è 404 o 503, viene eseguita la funzione “copy” per salvare l’immagine scaricata nella cartella “download” con il nome “test.jpg“. Viene inoltre impostato l’header “Content-Type” a “image/jpeg” per indicare che il tipo di contenuto della risposta è un’immagine JPEG.

Infine, viene stampato il contenuto dell’immagine utilizzando la funzione “echo” e viene chiusa la connessione cURL con la funzione “curl_close“.

In questo modo, è possibile scaricare un’immagine da un URL utilizzando PHP e la libreria cURL.

<?php 
  set_time_limit(180); 
  $url = "https://landofworld.local/landofworld.jpg"; 

  $ch = curl_init($url); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

  $response = curl_exec($ch); 
  $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
  echo "Verifica validità URL...";

  if ($httpCode == 404 || $httpCode == 503) { 
    echo "Errore URL: " . $httpCode;     
  } else { 
    copy($url, "download/test.jpg"); 
    header("Content-Type: image/jpeg");
    echo $response; 
  } 

  curl_close($ch); 
/ 5
Grazie per aver votato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *