Autor Zpráva
Jurasss
Profil *
Dobrý den,
vytvářím si vlastní fotogalerii a při tvorbě náhledů (zmenšených fotek) mi to vypisuje chyby:

Warning: getimagesize(1206091738.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\foto.php on line 51

Warning: imagecreatetruecolor(): Invalid image dimensions in c:\program files\easyphp1-8\www\foto.php on line 76

Warning: imagecreatefromjpeg(1206091738.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\foto.php on line 78

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\foto.php on line 83

Warning: imagejpeg(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\foto.php on line 85



Script pro zmenšení fotek není můj a stáhl jsem ho někde z internetu.
Jeho ZK je zde:

  function Resizer(
    $filename, //cesta k souboru, ktery chcete zmensit
    $copypath, //cesta, kam zmenseny soubor ulozit
    $MaxWidth,  //maximalni sirka zmenseneho obrazku
    $MaxHeight) //maximalni vyska zmenseneho obrazku
  { 
    //zjistime puvodni velikost obrazku
    list($OrigWidth, $OrigHeight) 
    = getimagesize($filename);
    //hodnota 0 v parametrech MaxWidth resp. MaxHeight znamena,  
    //ze sirka resp. vyska vysledku muze byt libovolna
    if ($MaxWidth == 0) 
      $MaxWidth = $OrigWidth;
    if ($MaxHeight == 0)
      $MaxHeight = $OrigHeight;
  
    //nyni vypocitam pomer zmenseni
    $pw = $OrigWidth / $MaxWidth;
    $ph = $OrigHeight / $MaxHeight;
  
    if ($pw > $ph)
      $p = $pw;
    else
      $p = $ph;
    if ($p < 1)
      $p = 1;
  
    //v p ted mame pomer pro zmenseni
    //vypocitame vysku a sirku zmenseneho obrazku
    $NewWidth = (int)$OrigWidth / $p;
    $NewHeight = (int)$OrigHeight / $p;
  
    //vytvorime novy obrazek pozadovane vysky a sirky
    $image_p = imagecreatetruecolor($NewWidth, $NewHeight);
    //otevreme puvodni obrazek se souboru
    $image = imagecreatefromjpeg($filename);
    //a okopirujeme zmenseny puvodni obrazek do noveho
    imagecopyresampled($image_p, 
                     $image, 0, 0, 0, 0, 
                     $NewWidth, $NewHeight, 
                     $OrigWidth, $OrigHeight);
    //a ulozime 
    imagejpeg($image_p, $copypath, 50); 
  }


Ta chybová hláška zmizí při 2-3 obnovení stránky (nebo opětovném vložení stejné fotky).
Někdy se tam neoběví vůbec a jindy tam je "pořád".

Prosím poraďte mi co je tam špatně a jak ty chyby napravit!

Děkuji mnohokrát.
Alphard
Profil
zřejmě chybná cesta k obrázku, ve funkci samotné asi nebude problém
musíš zadat správné argumenty
Jurasss
Profil *
Alphard
Asi to tím nebude ...

Nazev fotky předávám do $text ($text = $_FILES["jmeno_souboru"]["name"];) a chyby to vypisuje.

Pokud jej zmením ručně ($text = "IMAG7392.jpg"), tak to chyby vypisuje také.

Zkoušel jsem fota přejmenovávat a to takto:
$text = time().".jpg";
$text = rand().".jpg";

a vždy to vypisuje ty chyby.

Jak tedy přejmenovat název fotografie, aby byl "správný".
Dodávám, že je potřeba aby se to přpisovalo automaticky a název byl unikátní.

Děkuji
Alphard
Profil
jestli to uploaduješ, tak je název:
$_FILES['name_inputu_file']['tmp_name]
Jurasss
Profil *
Alphard
To by mohl být ten problém, ale pořád to neřeší to, že to nefunguje i když zadám název fotografie ručně.
Alphard
Profil
Jurasss
přečti si něco o uplodu a cestách k souborům, jestliže obrázek uplouaduješ, cesta k němu není totožná s názvem obrázku (a ručně ji zadáš těžko, musel by jsi najít nějaký temp, dostat se k němu apod.)
Jurasss
Profil *
Alphard
Díky za radu.

Jdu si teda o tom něco přečíst.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: