Ciao a tutti.
Ho appena iniziato lo studio della programmazione ad oggetti e ho provato a mettere in pratica questo esempio di classe per visualizzare immagini
<?php
//creo una classe che legge un file di immagine e lo visualizza
class Image {
//definisco gli attributi
private $image;
private $width;
private $height;
private $mimetype;
//creo il constructor della classe
function __construct($filename){
//apro il file d'immagine e lo leggo come file binario
$fp = fopen($filename, 'rb') or die("L'immagine '$filename' non è stata trovata!");
$buf = '';
//finché il pointer non arriva alla fine del file...
while(!feof($fp)) {
//...carico il file nel buffer
$buf .= fgets($fp, 4096);
}
//poi creo l'immagine dalla stringa ottenuta sopra e la assegno all'attributo image
$this->image = imagecreatefromstring($buf);
//estraggo le info dall'immagine
$info = getimagesize($filename);
$this->width = $info[0];
$this->height = $info[1];
$this->mimetype = $info['mime'];
}
public function display() {
header("Content-type: {$this->mimetype}");
switch($this->mimetype) {
case 'image/jpeg': imagejpeg($this->image); break;
case 'image/png': imagepng($this->image); break;
case 'image/gif': imagegif($this->image); break;
}
//exit;
}
}
//richiamo l'oggetto Image
$image = new Image($_GET['image']);
?>
Quello che non capisco è come riuscire alla fine a visualizzare la mia immagine sul browser. Non capisco perché questo esempio usa il metodo GET visto che non ho alcun form...
E se scrivo:
$image = new Image("mia_immagine.jpg");
non si vede nulla...
Quindi come si usa questa classe?![]()
Scusate la banalità della domanda, ma non ho mai usato classi prima d'ora...