Autor | Zpráva | ||
---|---|---|---|
mafos Profil |
#1 · Zasláno: 20. 6. 2012, 23:07:34
Přeji všem pěkný večer,
na stránkách používám k úpravě vložených fotek (oříznutí na čtverec a zmenšení) skriptík, který jsem si někdy v minulosti nějak uplácnul :-) Bohužel po upgradu PHP mi toho spousta přestala fungovat. Vše jsem dal dohromady, ale u tohoto kodu nevím, kde by mohla být chyba. Můžete se mi prosím na to podívat a poradit mi? Jde o to, že se má ve složce s fotkami vytvořit nová složka s miniaturami. Tato složka se vytvoří OK, miniatury se vytvoří se správnými názvy, správnou velikostí, ale jsou černé. Není tam žádná fotka. Bohužel si s tím nevím rady :-( Děkuji za jakoukoliv pomoc. Jen doplňuji, že kod dřív v pohodě fungoval. <?php $link = mysql_connect ("localhost", "jmeno", "heslo") or die ("Nepovedlo se připojit na databázový server"); $db = mysql_select_db("jmeno", $link) or die ("Nepovedlo se otevřít databázi"); mysql_query("SET NAMES 'cp1250'") or die('Nepodařilo se nastavit jazyk'); $query = "SELECT * FROM fotogalerie where id=". (int) $id; $result = mysql_query($query, $link) or die("SQL dotaz nešlo provést"); while ($row=mysql_fetch_array($result)){ $odkaz = $row["odkaz"];}; mysql_free_result($result); mysql_close(); $adresar = "foto/$odkaz/mini"; echo $adresar; mkdir($adresar, 0777); $dir = "foto/$odkaz"; $dh = opendir($dir); while (false !== ($filename = readdir($dh))) { $files[] = $filename; } sort($files); for ($i = 0; $i < count($files); $i++) {if ($files[$i] !== "." and $files[$i] !== ".." and $files[$i] !== "mini") { // The file $filename = "foto/$odkaz/$files[$i]"; echo $filename; // Set a maximum height and width $width = 141; $height = 141; list($src_w, $src_h, $typ)=getimagesize($filename); if($src_w > $src_h) {$velikost = $src_h;} else {$velikost = $src_w;} $src_wp = $src_w/4; $src_hp = $src_h/4; // Create image instances {$src = imagecreatefromjpeg($filename); $dest = imagecreatetruecolor($velikost, $velikost); // Copy if($src_w > $src_h) {imagecopy($dest, $src, 0, 0, $src_wp, 0, $velikost, $velikost);} else {imagecopy($dest, $src, 0, 0, 0, $src_hp, $velikost, $velikost);} imagejpeg($dest, $dest); // Get new dimensions list($width_orig, $height_orig) = getimagesize($dest); $image_p = imagecreatetruecolor($width, $height); imagecopyresampled($image_p, $dest, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output imagejpeg($image_p, $dir. "/mini/" .$files[$i]); imagedestroy($image_p); };};} php?> |
||
Keeehi Profil |
#2 · Zasláno: 20. 6. 2012, 23:27:29
Proměnná
$id se vezme odkud? Nemělo by to být spíše $_GET["id"] ? Ale v tom problém asi nebude. Je to splácané tedy opravdu dost a nemám chuť se tím moc probírat. Projdi si to od začátku a zjisti, jestli je v proměnných to, co by tam mělo být.
|
||
peta Profil |
mafos:
Na zacatek programu dej @ini_set('error_reporting', E_ALL); @ini_set("display_errors", "on"); error_reporting(E_ALL); Nebo zmen nastaveni php tak, jako bylo pred tim. Pak by mozna bylo dobre zminit, jakou verzi php jsi na jskou upgradoval. V pripade verze 4 na 5 se obvykle zakazi globalni promenne a prestane fungovat automaticke prirazovani $id = $_REQUEST['id']; |
||
mafos Profil |
#4 · Zasláno: 21. 6. 2012, 18:21:59
Tak vážně nevím. Vypsal jsem všechny chyby a program napsal toto:
Warning: imagejpeg() expects parameter 2 to be string, resource given in /adresa on line 60 Warning: getimagesize() expects parameter 1 to be string, resource given in /adresa on line 63 Ty chyby jsou na těchto dvou řádcích imagejpeg($dest, $dest); list($width_orig, $height_orig) = getimagesize($dest); Přecházel jsem z PHP4 na PHP5, všechny ostatní změny jsou udělal, takže stránky fungují tak jak mají až na tuto chybu :-( Děkuji za pomoc |
||
Časová prodleva: 12 let
|
0