Autor | Zpráva | ||
---|---|---|---|
Switch Profil * |
#1 · Zasláno: 4. 6. 2009, 14:54:25
Zdravim, muzete mi prosim poradit ohledne tohoto kodu...konkretne co je v nem spatne..zvlastni je ze na localhostu mi jede naprosto bez problemu ale na hostingu(konkretne ic.cz) mi vyhazuje hlášku: " Obrázek “http://nejaka_adresa.ic.cz/kapca.php” nelze zobrazit, protože obsahuje chyby." Font na serveru nahranej je... Predem diks za odpovedi..
Kod je nasledujici : <?php /* Deklarování proměnných */ $velikost_x = 200; $velikost_y = 75; /* Kontrola, zda je kód v URL */ if (!isset($_GET['code'])) { $text = "Neznamy"; } else { $text = substr($_GET['code'], 0, 8); } $misto_na_znak = $velikost_x / (strlen($text) + 1); /* Tvorba plátna */ $obrazek = imagecreatetruecolor($velikost_x, $velikost_y); /* Nastavení barev */ $pozadi = imagecolorallocate($obrazek, 255, 255, 255); $okraj = imagecolorallocate($obrazek, 128, 128 ,128); $barvy[] = imagecolorallocate($obrazek, 128, 64, 192); $barvy[] = imagecolorallocate($obrazek, 192, 64, 128); $barvy[] = imagecolorallocate($obrazek, 108, 192, 64); /* Vyplnění pozadí */ imagefilledrectangle($obrazek, 1, 1, $velikost_x -2, $velikost_y -2, $pozadi); imagerectangle($obrazek, 0, 0, $velikost_x - 1, $velikost_y -2, $okraj); /* Kreslení textu */ for($i=0; $i < strlen($text); $i++) { $barva = $barvy [$i % count($barvy)]; imagettftext($obrazek, 28 + rand(0,8), -20 + rand(0,40), ($i + 0.3) * $misto_na_znak, 50 + rand(0,10), $barva, 'arial.ttf', $text{$i}); } /* Anti-alising */ imageantialias($obrazek, true); /* Čárečky */ for($i=0; $i < 1000; $i++) { $x1 = rand(5, $velikost_x - 5); $y1 = rand(5, $velikost_y - 5); $x2 = $x1 - 4 + rand(0,8); $y2 = $y1 - 4 + rand(0,8); imageline($obrazek, $x1, $y1, $x2, $y2, $barvy[ rand( 0, count($barvy) - 1)]); } /* Odeslání hlavíčky */ header('Content-type: image/png'); imagepng($obrazek); ?> |
||
peta Profil |
#2 · Zasláno: 4. 6. 2009, 15:45:02 · Upravil/a: peta
povol zobrazovani chyb uplne na zacatku
@ini_set('error_reporting',E_ALL); @ini_set("display_errors","on"); @ini_set("display_errors",1); @ini_set('display_startup_errors',1); @ini_restore('display_errors'); error_reporting(E_ALL); @ini_set("register_globals",0); // neco z toho se chyb mozna netyka, ted nevim pak si precti, co to pise za chyby. Predpokladam, ze ti pulka funkci nejede, protoze tam nemas GD knihovnu nebo povolene funkce php. Momentalne frci safe mode a spousta hostingu omezuje, co muze navic k tomu. |
||
Switch Profil * |
@ini_set('error_reporting',E_ALL);
@ini_set("display_errors","on"); @ini_set("display_errors",1); @ini_set('display_startup_errors',1); @ini_restore('display_errors'); error_reporting(E_ALL); @ini_set("register_globals",0); Poté co jsem tam přidal taj ty chybový hlášení..tak se změnilo...hmm nečekaně nic xD furt to hází stejnou hlášku...GD knihovna povolená je, alespoň podle phpinfo()...takže fakt netuším :X |
||
Alphard Profil |
#4 · Zasláno: 4. 6. 2009, 16:04:15
Switch:
Zakomentujte header('Content-type: image/png'); a podívejte se, jestli to na začátku nevypíše nějakou chybu, následující rozsypaný čaj je správně. |
||
Switch Profil * |
#5 · Zasláno: 4. 6. 2009, 16:08:54
Mnoo..já bych to nazval spíš hatmatilka xD
K chybám: Vyplivlo to na mě tohle : Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/free/ic.cz/s/spectrik/root/www/kapca.php on line 41 což je z toho cyklu na kreslení textu....nemůže zpracovat font...hmm to je divné..na serveru nahranej je, je ve stejný složce, práva na čtení má, název má správnej...záludnost :X |
||
panther Profil |
#6 · Zasláno: 4. 6. 2009, 16:12:32
Switch
„na serveru nahranej je, je ve stejný složce, práva na čtení má, název má správnej“ jseš si skutečně jistý? |
||
Switch Profil * |
#7 · Zasláno: 4. 6. 2009, 16:15:30
Jsem si naprosto jistej. aspoň 100x sem to kontroloval
|
||
Switch Profil * |
#8 · Zasláno: 4. 6. 2009, 16:16:51
Zkusim jiný font...
|
||
Switch Profil * |
#9 · Zasláno: 4. 6. 2009, 16:21:06
Tak ani změna fontu nepomohla..=( jsem zoufalej
|
||
Alphard Profil |
#10 · Zasláno: 4. 6. 2009, 16:22:48
Fonty nějak záleží na verzi GD, už si nevzpomínám, podívejte se do manuálu k té funkci.
|
||
Switch Profil * |
#11 · Zasláno: 4. 6. 2009, 16:36:43
Manuál sem prošel, píšou tam že by mohlo pomoct tohle : putenv('GDFONTPATH=' . realpath('.')); jenomže nepomohlo ani to takže asi smůla...
|
||
bohyn Profil |
#12 · Zasláno: 4. 6. 2009, 16:50:35
Switch
Nazev fontu se pouziva bez koncovky imagettftext($obrazek, 28 + rand(0,8), -20 + rand(0,40), ($i + 0.3) * $misto_na_znak, 50 + rand(0,10), $barva, 'arial', $text{$i}); } |
||
karbon Profil * |
#13 · Zasláno: 4. 6. 2009, 20:17:59
„Nazev fontu se pouziva bez koncovky“
Na serveru běžícím na Windows funguje i zápis s koncovkou. Na Linuxu to ale může být jiné. |
||
Časová prodleva: 26 dní
|
|||
peta Profil |
#14 · Zasláno: 30. 6. 2009, 11:10:34
Switch
odkaz na cely_kod.txt ? Zrejme na serveru dany font neexistuje. pokud existuje, dokaz to linkem na dany font :) http://stranka.cz/FontName.ttf U linuxu zalezi na velikosti pismen a pozor na diakritiku, mezery a pod. Vice o tomhle tematu jakpsatweb, nadpis nezobrazujici obrazky, google napovi. |
||
Časová prodleva: 15 let
|
0