Non riesco a formularlo per il mio scopo, tu hai idea?
Non riesco a formularlo per il mio scopo, tu hai idea?
Codice PHP:
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
return abs($bounding_box[2] - $bounding_box[0]);
}
/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
return abs($bounding_box[1] - $bounding_box[5]);
}
/**
* Writes a line of text
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param string $text Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
$bbox = imagettfbbox($size, 0.0, $font, $text);
$width = line_width($bbox);
$height = line_height($bbox);
if ($x == 'LEFT') {
$x = 0;
} else if ($x == 'CENTER') {
$x = (imagesx($image) - $width) / 2.0;
} else if ($x == 'RIGHT') {
$x = imagesx($image) - $width;
}
imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);
return $bbox;
}
/**
* Writes multiples lines of text.
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param array $text Array of lines to write
* @param int $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
foreach ($text as $line) {
$bbox = write_line($image, $size, $x, $y, $color, $font, $line);
$y += line_height($bbox) + $padding;
}
}
// Imposta lo header
header('Content-type: image/png');
// Legge i dati
$nome = $_POST['nome'];
$grado = $_POST['grado'];
$officiante = $_POST['officiante'];
$diocesi = $_POST['diofun'];
$arcidiocesi = $_POST['arcifun'];
$data = $_POST['datafun'];
// Legge l'immagine di sfondo ed imposta il colore del testo
$image = imagecreatefromjpeg("http://i.imgur.com/vOZBXEo.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);
// Imposta le righe di testo da scrivere
$text = array(
"Il fedele dell'Altissimo chiamato",
$nome,
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado $officiante",
"nella Parrocchia di $diocesi, Arcidiocesi di $arcidiocesi,",
"in data $data"
);
// Scrive il testo
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);
// Mostra l'immagine
imagepng($image);
Bisognerebbe adattarlo a questo codice in basso....
Ho inserito <?php header('Content-type: image/png'); ?> però mi mostra un piccolo quadratino in alto a sinistra, mi dà la possibilità di salvare l'immagine quindi ci siamo quasi, come possiamo adattare i codici?
Codice:<head> <body> <div id="container"> <p id="dichiarazione"> <i> <b> <BODY TEXT="#8B0000"> Il fedele dell'Altissimo chiamato <br /> <?php echo $nome=$_POST["nome"] ; ?> <br /> dopo la prematura morte, <br /> ha ricevuto il sacramento del funerale, <br /> dal <?php echo $grado=$_POST["grado"]; ?> <?php echo $officiante=$_POST["officiante"]; ?><br /> nella Parrocchia di <?php echo $diofun=$_POST["diofun"]; ?>, Arcidiocesi di <?php echo $arcifun=$_POST["arcifun"]; ?>, <br /> in data <?php echo $datafun=$_POST["datafun"]; ?>.<br /> </b> </i> <p> </div> <style type="text/css"> div#container {background: url("http://i.imgur.com/UkZ214y.jpg") no-repeat scroll center top #8B0000; width: 500px; height: 600px;} p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;} imagejpeg($image); @font-face { font-family: "12th c. Fancy Caps"; src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype"); } h1 { font-family: "12th c. Fancy Caps", sans-serif } } </style> </head> </body> </html>
Lo è già, a parte l'indirizzo del font che puoi modificare facilmente nell'invocazione a write_lines.Bisognerebbe adattarlo a questo codice in basso....
C'era già. Se mostra un quadrato bianco, vuol dire che qualcosa durante l'esecuzione dello script non è andata a buon fine (quindi viene creata un'immagine corrotta che appare come un quadrato bianco nel browser).Ho inserito <?php header('Content-type: image/png'); ?>
Dovresti togliere temporaneamente l'istruzione/le istruzioni header('Content-type: image/png'); in modo che la pagina mostri eventuali messaggi di errore. Poi riportali qui così capiamo cos'è successo. Per sicurezza, inserisci error_reporting(E_ALL); prima della lettura dei dati da $_POST (serve per indicare a PHP di mostrare tutti gli errori).
Il codice che mi hai passato te mi dà errore, header l'ho inserito nella pagina che ho inserito io nel server e mi dà il quadratino
Non basta inserire lo header per convertire una pagina web in un'immagine, bisogna lavorare con PHP GD (senza HTML in mezzo).
Se riporti l'errore che ti viene mostrato col mio codice (dopo aver tolto lo header in modo da visualizzare il messaggio d'errore) possiamo vedere di cosa si tratta.
Bene, ho inserito il tuo codice senza header e mi dà questi errori:
Notice: Undefined index: datafun in /membri/iabasic1/certificato_funerale.php on line 81
Warning: imagecreatefromjpeg(http://i.imgur.com/UkZ214y.jpg) [function.imagecreatefromjpeg]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /membri/iabasic1/certificato_funerale.php on line 84
Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 85
Notice: Undefined variable: diocesi in /membri/iabasic1/certificato_funerale.php on line 94
Notice: Undefined variable: arcidiocesi in /membri/iabasic1/certificato_funerale.php on line 94
Notice: Undefined variable: data in /membri/iabasic1/certificato_funerale.php on line 95
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Fatal error: Call to undefined function imagejpg() in /membri/iabasic1/certificato_funerale.php on line 102
Questo è il codice della pagina: certificato_funerale.php
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
return abs($bounding_box[2] - $bounding_box[0]);
}
/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
return abs($bounding_box[1] - $bounding_box[5]);
}
/**
* Writes a line of text
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param string $text Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
$bbox = imagettfbbox($size, 0.0, $font, $text);
$width = line_width($bbox);
$height = line_height($bbox);
if ($x == 'LEFT') {
$x = 0;
} else if ($x == 'CENTER') {
$x = (imagesx($image) - $width) / 2.0;
} else if ($x == 'RIGHT') {
$x = imagesx($image) - $width;
}
imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);
return $bbox;
}
/**
* Writes multiples lines of text.
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param array $text Array of lines to write
* @param int $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
foreach ($text as $line) {
$bbox = write_line($image, $size, $x, $y, $color, $font, $line);
$y += line_height($bbox) + $padding;
}
}
error_reporting(E_ALL);
$nome = $_POST["nome"];
$grado = $_POST["grado"];
$officiante = $_POST["officiante"];
$arcifun = $_POST["arcifun"];
$diofun = $_POST["diofun"];
$datafun = $_POST["datafun"];
$image = imagecreatefromjpeg("http://i.imgur.com/UkZ214y.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);
$text = array(
"Il fedele dell'Altissimo chiamato",
$nome,
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado $officiante",
"nella Parrocchia di $diocesi, Arcidiocesi di $arcidiocesi,",
"in data $data"
);
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);
imagejpg($image);
Ultima modifica di iabasic1 : 23-07-2016 alle ore 18.58.53
Puoi verificare qui: http://iabasic1.altervista.org/certificato-di-funerale
Noto che hai modificato alcune cose nello script: i nomi delle variabili $diocesi, $arcidiocesi, $data in $diofun, $arcifun e $datafun rispettivamente e hai sostituito imagepng con imagejpg.
Modificare i nomi degli identificatori va bene, ma devono essere consistenti: modifica anche quelli utilizzati all'interno del vettore $text, o non funzionerà. Va bene anche restituire l'immagine in formato jpeg anziché png, ma la funzione da usare si chiama imagejpeg, non imagejpg (e lo header dovrà essere modificato di conseguenza).
Ciò detto, gli altri errori sono nel recupero dell'immagine vuota e del font. Probabilmente imgur.com non permette di "aprire da remoto" le immagini. Dovresti provare a caricare nel tuo spazio una copia dell'immagine e del font che intendi utilizzare, ed usare dei percorsi relativi nelle chiamate a imagecreatefromjpeg e write_lines.
Niente da fare l'errore persiste:Parse error: syntax error, unexpected T_ECHO, expecting ')' in /membri/iabasic1/certificato_funerale.php on line 90
Questo è il codice modificato:
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
return abs($bounding_box[2] - $bounding_box[0]);
}
/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
return abs($bounding_box[1] - $bounding_box[5]);
}
/**
* Writes a line of text
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param string $text Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
$bbox = imagettfbbox($size, 0.0, $font, $text);
$width = line_width($bbox);
$height = line_height($bbox);
if ($x == 'LEFT') {
$x = 0;
} else if ($x == 'CENTER') {
$x = (imagesx($image) - $width) / 2.0;
} else if ($x == 'RIGHT') {
$x = imagesx($image) - $width;
}
imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);
return $bbox;
}
/**
* Writes multiples lines of text.
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param array $text Array of lines to write
* @param int $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
foreach ($text as $line) {
$bbox = write_line($image, $size, $x, $y, $color, $font, $line);
$y += line_height($bbox) + $padding;
}
}
header('Content-type: image/jpeg');
error_reporting(E_ALL);
$nome = $_POST["nome"];
$grado = $_POST["grado"];
$officiante = $_POST["officiante"];
$arcifun = $_POST["arcifun"];
$diofun = $_POST["diofun"];
$datafun = $_POST["datafun"];
$image = imagecreatefromjpeg("http://iabasic1.altervista.org/images/certificato_funerale.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);
$text = array(
"Il fedele dell'Altissimo chiamato",
echo $nome=$_POST["nome"];
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado=$_POST["grado"]; echo $officiante=$_POST["officiante"];,
"nella Parrocchia di $diofun=$_POST["diofun"];, Arcidiocesi di echo $arcifun=$_POST["arcifun"];",
"in data $datafun=$_POST["datafun"];
);
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);
imagejpeg($image);
?>
Ribadisco, va bene apportare modifiche, però bisogna sapere cosa si sta modificando. Il vettore $text così non ha senso:
La echo nella terza riga cosa significa? Vorrebbe dire qualcosa come "mentre stai inizializzando un valore del vettore, mostra anche in output il valore dell'assegnamento $nome=$_POST["nome"]", che non è ciò che si vuole ottenere. Inoltre, le variabili $nome, $grado e simili sono già state preventivamente inizializzate: perché ri-assegnare loro lo stesso valore, durante l'inizializzazione del vettore?Codice PHP:
$text = array(
"Il fedele dell'Altissimo chiamato",
echo $nome=$_POST["nome"];
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado=$_POST["grado"]; echo $officiante=$_POST["officiante"];,
"nella Parrocchia di $diofun=$_POST["diofun"];, Arcidiocesi di echo $arcifun=$_POST["arcifun"];",
"in data $datafun=$_POST["datafun"];
);
Quella parte va corretta nel seguente modo:
Questo dovrebbe risolvere l'errore che ti è stato mostrato. Poi bisogna vedere se ce ne sono altri...Codice PHP:
$text = array(
"Il fedele dell'Altissimo chiamato",
$nome,
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado $officiante",
"nella Parrocchia di $diofun, Arcidiocesi di echo $arcifun",
"in data $datafun"
);
Mi dà il quadrato bianco come immagine.
<?php
/**
* Returns with of a line.
* @param array $boudning_box Bounding box
* @return Width of the box
*/
function line_width($bounding_box) {
return abs($bounding_box[2] - $bounding_box[0]);
}
/**
* Returns height of a line.
* @param array $boudning_box Bounding box
* @return Height of the box
*/
function line_height($bounding_box) {
return abs($bounding_box[1] - $bounding_box[5]);
}
/**
* Writes a line of text
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param string $text Text to write
* @return Bounding box
*/
function write_line($image, $size, $x, $y, $color, $font, $text) {
$bbox = imagettfbbox($size, 0.0, $font, $text);
$width = line_width($bbox);
$height = line_height($bbox);
if ($x == 'LEFT') {
$x = 0;
} else if ($x == 'CENTER') {
$x = (imagesx($image) - $width) / 2.0;
} else if ($x == 'RIGHT') {
$x = imagesx($image) - $width;
}
imagettftext($image, $size, 0.0, $x, $y + $height, $color, $font, $text);
return $bbox;
}
/**
* Writes multiples lines of text.
* @param resrouce $image PHP GD image
* @param int $size Font size
* @param int|string $x X-coordinate or 'LEFT', 'CENTER', 'RIGHT'
* @param int $y Y-coordinate
* @param int $color Color index
* @param string $font Path to the font
* @param array $text Array of lines to write
* @param int $padding Space between lines
*/
function write_lines($image, $size, $x, $y, $color, $font, $text, $padding = 0) {
foreach ($text as $line) {
$bbox = write_line($image, $size, $x, $y, $color, $font, $line);
$y += line_height($bbox) + $padding;
}
}
header('Content-type: image/jpeg');
error_reporting(E_ALL);
$nome = $_POST["nome"];
$grado = $_POST["grado"];
$officiante = $_POST["officiante"];
$arcifun = $_POST["arcifun"];
$diofun = $_POST["diofun"];
$datafun = $_POST["datafun"];
$image = imagecreatefromjpeg("http://iabasic1.altervista.org/images/certificato_funerale.jpg");
$color = imagecolorallocate($image, 0x8B, 0x00, 0x00);
$text = array(
"Il fedele dell'Altissimo chiamato",
$nome,
"dopo la prematura morte,",
"ha ricevuto il sacramento del funerale,",
"dal $grado $officiante",
"nella Parrocchia di $diofun, Arcidiocesi di echo $arcifun",
"in data $datafun"
);
write_lines($image, 14, 'CENTER', 350, $color, "http://www.princexml.com/fonts/larabie/kimberle.ttf", $text, 5);
imagejpeg($image);
?>
Per farti mostrare i messaggi d'errore al posto del quadrato bianco devi togliere temporaneamente lo header.
Credo che il problema (o almeno uno dei problemi) sia negli URL, dovresti usare il percorso relativo per l'immagine, e caricare una copia del font nel tuo spazio ed usare un percorso relativo anche per quello.
.....Notice: Undefined index: datafun in /membri/iabasic1/certificato_funerale.php on line 81
Warning: imagecreatefromjpeg(http://iabasic1.altervista.org/image...o_funerale.jpg) [function.imagecreatefromjpeg]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /membri/iabasic1/certificato_funerale.php on line 84
Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 85
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagettfbbox() [function.imagettfbbox]: Unable to access http://www.princexml.com/fonts/larabie/kimberle.ttf in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in /membri/iabasic1/certificato_funerale.php on line 34
Warning: imagesx() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 41
Warning: imagettftext() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 46
Warning: imagejpeg() expects parameter 1 to be resource, boolean given in /membri/iabasic1/certificato_funerale.php on line 102
Hai modificato il codice HTML (probabilmente quando hai sistemato la questione del calendario) togliendo l'attributo name="datafun' dal campo che rappresenta la data. Modifica questo:
in questo:Codice HTML:<input id="demo1" type="text" size="25">
Tutti gli altri messaggi indicano che lo script non riesce a leggere l'immagine ed il font. Usa dei percorsi relativi al posto degli URL per entrambi (dopo averne caricato una copia nel tuo spazio, qualora tu non l'abbia gia' fatto).Codice HTML:<input id="demo1" type="text" size="25" name="datafun">
Non capisco come fare...
Per quanto riguarda alla modifica del codice HTML si tratta di aprire il file, sostituire il codice indicato con l'altro e salvare il file.
Per quanto riguarda l'uso dei percorsi relativi, devi indicare i percorsi all'immagine usando stringhe come "./certificato_funerale.jpg" e "./kimberle.ttf" nello script PHP (al posto degli URL che iniziano con HTTP). Perche' funzioni il percorso deve essere corretto, il modo piu' semplice e' caricare una copia dell'immagine e del font nella stessa cartella dello script ed usare i percorsi "./certificato_funerale.jpg" e "./kimberle.ttf", rispettivamente.
Scusa, ma non possiamo adattare questo codice però aggiungendo qualche script che me lo faccia uscire come immagine jpeg e non come file php?
Codice:<html> <script> window.onload = function () { print(); } </script> <style type="text/css"> div#container { width: 500px; height: 600px;} p#dichiarazione{text-align:center; font-size:1.2em; position:relative; top: 350px;} @font-face { font-family: "12th c. Fancy Caps"; src: url(http://dl.dafont.com/dl/?f=12th_century_caps) format("truetype"); } h1 { font-family: "12th c. Fancy Caps", sans-serif } </style> <div id="container" style='position: relative;'> <img src='http://iabasic1.altervista.org/images/certificato_funerale.jpg' style='position: absolute;top:0;lef:0;z-index: -1;'/> <p id="dichiarazione"> <i> <b> <BODY TEXT="#8B0000"> Il fedele dell'Altissimo chiamato <br /> <?php echo $nome=$_POST["nome"] ; ?> <br /> dopo la prematura morte, <br /> ha ricevuto il sacramento del funerale, <br /> dal <?php echo $grado=$_POST["grado"]; ?> <?php echo $officiante=$_POST["officiante"]; ?><br /> nella Parrocchia di <?php echo $diofun=$_POST["diofun"]; ?>, Arcidiocesi di <?php echo $arcifun=$_POST["arcifun"]; ?>, <br /> in data <?php echo $datafun=$_POST["datafun"]; ?>.<br /> </b> </i> </p> </div> </html>
Ultima modifica di iabasic1 : 28-07-2016 alle ore 16.06.11
I problemi non si risolvono "aggiungendo qualche script", ma capendo le meccaniche di ciò che si sta facendo.
Hai già lo script per produrre dinamicamente l'immagine di cui hai bisogno, l'unica cosa richiesta è l'uso di percorsi relativi al posto degli URL (limitazione, tra l'altro, non imposta dal codice bensì dalla configurazione del web server).
Una soluzione di compromesso è rasterizeHTML.js che più o meno e con diverse limitazioni prova ad inserire una pagina HTML + CSS dentro un canvas rendendolo come immagine SVG.
Anche rasterizeHTML.js però richiede di usare percorsi relativi anziché URL esterni (sebbene per un motivo diverso), inoltre si basa su JavaScript (che un utente potrebbe voler disabilitare).
Non mi fa più loggare al sito:
alterVista
Pagina index mancante
La cartella /component/comprofiler/login/ non contiene una pagina index.
Devi creare una pagina che si chiami index.html, index.htm oppure index.php (tutto minuscolo).
Attenzione: se hai creato il sito da poco potrebbe essere necessario attendere fino a 24 ore prima che sia visibile.
Sembra che la pagina index sia stata cancellata o spostata a seguito di qualche incauta modifica.
In FTP non ho fatto nessuna modifica, ora come risolvo?
Caricandone una copia .
E come la faccio?
Avresti dovuto creare preventivamente una copia dell'intero spazio web, mantenendola sul tuo computer o in altra sede, in modo da poterlo ripristinare in situazioni come queste.
Se non hai copiato i file (né usato il servizio di backup di AlterVista), dovrai riscrivere i file che sono stati cancellati, o rigenerarli nel caso tu abbia utilizzato qualche framework o simili.
Ammesso e non concesso che il problema sia effettivamente la cancellazione di file: il messaggio d'errore che ti viene mostrato lamenta la mancanza di un file index in una certa cartella /component/comprofiler/login/... solo tu (o chi per te l'ha creata) puoi sapere che cosa rappresenta quella cartella, perché si trova lì, perché si aspetta di trovarci un file index e cosa questo debba fare.
Si, ma io quella cartella non lo proprio toccata e quindi non saprei nemmeno riscriverla o rigenerarla....
Che devo fare?
Quel file è un login,credo di CB in quella cartella visto che non mi avvia nemmeno la registrazione
Se fa parte di un plugin, puoi provare reinstallando il plugin.
Nulla, ho disinstallato e reinstallato Community Builder.... Ma compare ancora.....
E' un file index.php che viene creato al momento della creazione del sito....
Per caso riesci a mandarmi il tuo?
Sempre nella cartella: /component/comprofiler/login/
Non utilizzo Community Builder, Joomla, né altri plugin o framework, quindi non ce l'ho.
Probabilmente nel forum di supporto di Community Builder puoi trovare informazioni più precise riguardo a questo plugin.
Ho cancellato la cartella (salvandola prima sul pc) e ora mi va bene .
Sapresti adattare lo script PHP sotto con tutte le variabili per quello che intendo?
Codice PHP:
<?php
// header("Content-type:image/jpeg");
echo "inizio";
$img = imagecreatefromjpeg('http://oi67.tinypic.com/ix5pbq.jpg');
echo "img";
imagealphablending($img, true);
imagesavealpha($img, true);
echo "trasparenza";
$nero = imagecolorallocate($img, 0, 0, 0);
echo "colore";
imagettftext($img, 16, 0, 86, 368, $nero, "Fancy_Caps.ttf", "Il fedele dell'Altissimo chiamato");
imagettftext($img, 16, 0, 166, 398, $nero, "Fancy_Caps.ttf", $_POST['nome']);
imagejpeg($img);
?>