Ciao a tutti!
Sapete dirmi perchè non funziona la nuova sezione del mio sito
Banner Maker?
In locale funziona perfettamente e per quanto io sappia AV supporta GD...
Come potete vedere, l'immagine non viene visualizzata...
Come mai??
Ciao a tutti!
Sapete dirmi perchè non funziona la nuova sezione del mio sito
Banner Maker?
In locale funziona perfettamente e per quanto io sappia AV supporta GD...
Come potete vedere, l'immagine non viene visualizzata...
Come mai??
prova facendo attenzione alle minuscole/maiuscole..
.jpg è diverso da .JPG..
Come estensioni sono sicuro perchè si crea tutto automaticamente, sia per le immagini, sia per i font...
Questo è il "succo" della pagina gd:
Ho dovuto mettere il file in una cartella temporanea altrimenti mi riempe il sito.Codice PHP:
<?
if (!extension_loaded('gd')) {
dl('php_gd2.dll');
}
$nome="prova";
$Jpeg = ImageCreateFromJpeg("1.jpg");
$riga1 = ImageColorAllocate($Jpeg,255,255,255);
imagettftext($Jpeg,13,0,120,35,$riga1,"adler.ttf","GD v.2 FUNZIONA CORRETTAMENTE");
$tempfile = str_replace('\\', '/', $_ENV[TEMP]) . "/$nome.jpg";
$tempfile = $_ENV[TEMP] . "\\$nome.jpg";
$tempfile = str_replace("\\\\", "\\", $tempfile);
ImageJpeg($Jpeg, $tempfile,100);
print "<img src=\"$nome\" alt=\"Prova GD2\">";
?>
Il problema è solo quello, infatti se al posto dimettoCodice PHP:
ImageJpeg($Jpeg, $tempfile,100);
funziona ma mi occupa tutto lo spazio...Codice PHP:
ImageJpeg($Jpeg, $nome,100);
Adesso funziona tutto, ma le immagini me le salva sul mio sito e tenendo 20Kb l'una si riempe in fretta...
Non c'è un modo per non salvarle sul mio sito o eliminarle subito dopo che vengono create?
Se uso Imagedestroy? Me la elimina l'immagine?
Molto semplice:
perché mai salvarsi su filesystem un file temporaneo di immagine quando NON si vuole occupare spazio???
Fai sì che DIRETTAMENTE il tuo file script php restituisca dati con content-type di tipo immagine (image/gif, jpeg, etc..) come puoi vedere in miliardi di esempi e anche in questo forum (cerca la parola "figurine" qui nel forum av).
Dunque l'immagine viene generata "on demand", su richiesta, e non viene salvata fisicamente da nessuna parte.
Cerca, e vedi se riesci da solo, poi se non capisci.. ne riparliamo
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Basta omettere il nome:
ImageJpeg($Jpeg);
Ciaooo!!!
Bisogna anche -per correttezza- dichiarare il content-type altrimenti con IE magari funge uguale ma con gli altri non è detto. Poi ovviamente tutto il codice relativo al percorso del file temporaneo.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Potete farmi qualche esempio?
Grazie.
Questo script d'esempio restituisce un png senza salvarlo da nessuna parte:
Codice PHP:
header ("Content-type: image/png");
$im = @imagecreatetruecolor(50, 100)
or die("Cannot Initialize new GD image stream");
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
Ciaooo!!!!!
...e perchè questo non funziona?
Codice PHP:
<?
Header("Content-type: image/jpeg");
$Jpeg = ImageCreateFromJpeg("template.jpg");
$riga1 = ImageColorAllocate($Jpeg,255,255,255);
imagettftext($Jpeg,10,0,10,25,$riga1,"font.ttf","Ciao!");
imagejpeg($Jpeg);
imagedestroy($Jpeg);
?>
1) sei sicuro che l'immagine sorgente ("template.jpg" nel tuo es.) esiste e venga rintracciata correttamente?
2) sei sicuro di aver messo il file "font.ttf" nella STESSA cartella dello script o quantomeno di indicare il percorso corretto al file ttf?
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
tutto giusto, sono sicuro...
Scusa, che vuol dire "non funziona"?
Immagino che non ti si vede l'immagine,
ma per capire QUAL E' la vera causa (magari un errore di sintassi php etc..) del problema allo script ti conviene scrivere direttamente nell'indirizzo del browser l'URL dello script php che genera l'immagine, in questo modo se si verifica un problema puoi leggere l'errore nella pagina.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Con l'ultimo codice che ho messo non viene fuori l'immagine.
Eppure non c'è niente di strano.
Errori non ne vengono fuori, e come se venisse creata ma non viene visualizzata...
Come ha detto heracleum scrivi l'indirizzo dell'immagine nella Barra degli Indirizzi così ti appariranno magicamente gli errori.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
...quale immagine?
L'indirizzo della pagina PHP che produce l'immagine.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Errori non ce ne sono, l'ho controllata con il programma di PHP e dice che è tutto OK...
Prova a postare l'indirizzo della pagina.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Non c'è una pagina, c'è solo il codice che ho postato sopra...
che non fa saltare fuori l'immagine.Codice PHP:
<?
Header("Content-type: image/jpeg");
$Jpeg = ImageCreateFromJpeg("template.jpg");
$riga1 = ImageColorAllocate($Jpeg,255,255,255);
imagettftext($Jpeg,10,0,10,25,$riga1,"font.ttf","Ciao!");
imagejpeg($Jpeg);
imagedestroy($Jpeg);
?>
Ho creato una pagina sul mio sito e quello script funge, guarda qui.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Controllerò meglio...
Almeno so che funziona.
Grazie mille!
Adesso la cancello.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
Allo, ovviamente quello non è un "pezzo" di script da inserire in una pagina php che produce altro (codice html etc..)
MA DEVE essere il contenuto di un singolo file .php con SOLO quel codice.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
...ecco!!
Forse era proprio quello l'errore.
Quindi devo metterlo in una pagina tutta sua?
sì...
http://express.altervista.org
Dato un lavoro, si possono scegliere due sole delle seguenti caratteristiche: veloce, economico, di qualità.
Così capita che se un lavoro è veloce ed economico non sarà di qualità; se è veloce e di qualità non sarà economico; se è economico e di qualità non sarà veloce.
Per forza!
Dunque, se uno script (diciamo in un file creaimg.php) con SOLO quel codice restituisce dati immagine, quello è il solo compito che può avere quello script niente altro, e soprattutto NON può partecipare alla creazione di una pagina html visto che lavora con dati immagine, ok.
Una seconda pagina (che potrebbe essere anche solo .html) diciamo mostra.php basta che abbia il codice html:
<img src="creaimg.php?testo=ciao">
e il gioco è fatto. Capisci? lo script che è postato più volte sopra si sostituisce ad una immagine statica .gif o jpeg.. etc.. e ci pensa lui a restituire dati immagine da mostrare in una pagina tramite il tag IMG.
Ho scritto: ?testo=ciao visto che è anche possibile indicare allo script di scrivere quel che viene passato come parametro invece che una scritta fissa.
Ora penso sia chiaro, più di questo non riesco
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Ok, chiarissimo!
Grazie di tutto!