Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88

    L'immagine “” non può essere visualizzata poiché[...]

    Questa è l'immagine incriminata: http://ial32.altervista.org/rand_img/random2.png
    codice:
    <?php
    	$urlLista = 'lista.txt';
    	$lista = preg_split('/rn|r|n/', file_get_contents($urlLista));
    	$value = headerImg(immagineRandom($lista));
    	header($value['header']);
    	function aggiustaLista($lista) {
    		foreach($lista as $img) {
    			if(!preg_match('/([^s]+(.(?i)(jpg|png|gif))$)/', $img, $match)) {
    				unset($lista[$img]);
    			}
    		}
    		$nuovaLista = array_fill(0, 1, $lista);
    		$nuovaLista = $nuovaLista[0];
    		return $nuovaLista;
    	}
    	function immagineRandom($lista) {
    		$value = null;
    		$lista = aggiustaLista($lista);
    		$minimo = 0; #il valore minimo
    		$massimo = count($lista) -1; #il valore massimo, definito dal numero di elementi nell'array $lista
    		#sottraiamo 1, perché altrimenti avremmo un errore per il quale l'index più alto non è definito(non esiste)
    		if($massimo == 0) { #quando la lista è vuota
    			die('Non ci sono immagini nella lista'); #Facciamo vedere un messaggio di errore
    		} else {
    			$int = rand($minimo, $massimo);
    			$img = $lista[$int];
    			preg_match('/([^s]+(.(?i)(jpg|png|gif))$)/', $img, $match);
    			$est = $match[2];
    			$value = array('estensione'=>$est, 'url'=>$img);
    		}
    		return $value;
    	}
    	function headerImg($arr) {
    		$base = 'Content-Type: ';
    		$est = $arr['estensione'];
    		$url = $arr['url'];
    		$ctype = null;
    		$header = null;
    		switch($est) {
    			case '.gif':
    				$ctype = 'image/gif';
    				$header = $base . $ctype;
    				break;
    			case '.png':
    				$ctype = 'image/png';
    				$header = $base . $ctype;
    				break;
    			case '.jpg':
    			case '.jpeg':
    				$ctype = 'image/jpeg';
    				$header = $base . $ctype;
    				break;
    		}
    		return array('header'=>$header, 'ctype'=>$ctype, 'url'=>$url, 'est'=>$est);
    	}
    	switch($value['est']) {
    		case '.gif':
    			$immagine = imagecreatefromgif($value['url']) or die('GIF parte 1');
    			break;
    		case '.png':
    			$immagine = imagecreatefrompng($value['url']) or die('PNG parte 1');
    			break;
    		case '.jpg':
    		case '.jpeg':
    			$immagine = imagecreatefromjpeg($value['url']) or die('JPEG parte 1');
    			break;
    	}
    	imagealphablending($immagine, true) or die('imagealphablending');
    	imagesavealpha($immagine, true) or die('ImageSaveAlpha');
    	switch($value['est']) {
    		case '.gif':
    			$immagine = imagegif($immagine) or die('GIF parte 2');
    			break;
    		case '.png':
    			$immagine = imagepng($immagine) or die('PNG parte 2');
    			break;
    		case '.jpg':
    		case '.jpeg':
    			$immagine = imagejpeg($immagine) or die('JPEG parte 2');
    			break;
    	}
    	imagedestroy($immagine) or die('Image Destroy');
    ?>
    Per chi vuole anche il syntax:
    http://pastebin.com/embed_iframe.php?i=Gvsud1HE
    L'errore sembra essere causato(anzi, ne sono piuttosto convinto) dall'header.
    Ho aggiunto dei die() per eventualmente evidenziare gli errori...
    Di solito non lavoro molto con le immagini, quindi non siate clementi e tartassatemi di insulti :P

  2. #2
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    Up

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Un chilometro di post, e l'errore dov'è?

  4. #4
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    L'avevo già scritto alla fine del post, se prendessi il tempo di leggerti il "chilometro di post"
    L'errore sembra essere causato(anzi, ne sono piuttosto convinto) dall'header. Ho aggiunto dei die() per eventualmente evidenziare gli errori... Di solito non lavoro molto con le immagini, quindi non siate clementi e tartassatemi di insulti :P

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Mi sa che abbiamo qualche problema con l'italiano.
    Il post l'avevo letto eccome, ma "L'errore sembra essere causato" non spiega di che errore stiamo parlando.
    Con questo mi disiscrivo dal thread

  6. #6
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    Difatti son venuto qua appunto per capire quale errore potevo aver commesso...è per questo che ho messo il condizionale...
    Comunque, nessuno che possa scrivere un commento costruttivo per piacere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.