| 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 |
#3 · Zasláno: 21. 6. 2012, 07:48:34 · Upravil/a: peta
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 měsíců
|
|||