Keď exportujem na server väčší obrázok cez 500kB alebo tak nejak, vyhodí sa mi po chvíli hláška "Stránku nelze zobrazit , požadovaná stránka není dočasně ....". Dá sa to nejak scriptovo ošetriť alebo....
Dikes za radu. :idea:
Printable View
Keď exportujem na server väčší obrázok cez 500kB alebo tak nejak, vyhodí sa mi po chvíli hláška "Stránku nelze zobrazit , požadovaná stránka není dočasně ....". Dá sa to nejak scriptovo ošetriť alebo....
Dikes za radu. :idea:
Nechces to trochu specifikovat, co myslis "exportem na server", presne co tam mam to PHPko delat atd.?
No, jednoducho cez klasický mnou vytvorený formulár na stránke uploadujem na server súbor, konkrétne obrázok jpg, cez http protokol pomocou scriptu php a často to končí neúspešne (niekedy úspešne).
No pokud mas v poradku ten PHP kod, tak je chyba na strane serveru, pokud to mas na nejake freehostingu, tak bych se ani moc nedivil, zkus sem dat ten kod.
teraz mám ten kód skutočne dosť rozbitý (experimentujem), ale v podstate nepoužívam ani "copy" ani "upload", ale hneď script na resize obrázkov - ImageCreateFromJpeg, ImageCopyResampled atď.... Vyskúšam to ešte asi klasicky cez copy a uvidím...
Inak je lepšie používať "copy" alebo "upload"?
Zkus to popsat presneji, nevim kam co kopirujes, uploadujes a nechci jen tak hadat, takze ti sem hodim svuj upload, ktery funguje, ted jsem tam zkousel uploadovat obrazky velikosti 1,5 MB a bez problemu.
XTHML
Nekde jsem se docetl, ze je dobre davat tam hidden, uz si nepamatuji proc :), muzu to pak zkusit znova najit.Kód:<form id="profile" action="profile.php" method="post" enctype="multipart/form-data">
......
<input type="hidden" name="a"/>
<input type="file" name="upload" size="25" maxlength="255" value=""/>
...........
</form>
PHP
Uploadne se do tempu, ja si tam o nem zjistim par podminek a pak si ho presunu kam potrebuju a tam dale s nim pracuji. BTW v tomto prikladu je omezeni velikosti souboru na 6kb, ale zkousel jsem na tom i tech 1,5MB a v pohode.Kód:$link_tmp = $_FILES['upload']['tmp_name'];
$link = $_FILES['upload']['name'];
$size = $_FILES['upload']['size'];
if (!empty($link_tmp)) {
if (($size <= 6144) and ($size > 0)) {
list($width, $height, $type, $attr) = getimagesize($link_tmp);
/*par podminek na typ, velikost, misto uploadu, nove jmeno souboru*/
$upload_file = $upload_dir.$user_id.'.'.$file_ext;
move_uploaded_file($link_tmp, $upload_file);
......................
Problem muze byt na strane serveru
http://4um.ocguru.cz/viewtopic.php?t=49761
Ale kdyz to dela jen obcas, tak radsi opravdu sem hod kod.
Ja potrebujem ten obrazok hned aj upravit. Napr. prvy obrazok o rozmere 800px mi urobil a pri druhom to už spadlo. Ale niekedy to urobí aj ten druhý.
Script:
Kód:<form action="index.php" method="post" enctype="multipart/form-data">
Leták 1 <input type=file name=obr>
<input type=submit value=Odoslať>
</form>
Kód:$mobr="pic1.jpg";
$mobr_big="pic1_big.jpg";
$cesta="../market"
$width=800;
$width=1024;
$rozmer=GetImageSize($obr);
$w1=$rozmer[0]/100;
$w2=$width/$w1;
$height=$rozmer[1]/100*$w2;
$w2_big=$width_big/$w1;
$height_big=$rozmer[1]/100*$w2_big;
$in=ImageCreateFromJpeg($obr);
if($rozmer[0]>$width):
$out=ImageCreateTruecolor($width,$height);
ImageCopyResampled($out,$in,0,0,0,0,$width,$height,$rozmer[0],$rozmer[1]);
ImageJpeg($out,"$cesta/$mobr",80)):
ImageDestroy($out);
endif;
if($rozmer[0]>$width_big):
$out_big=ImageCreateTruecolor($width_big,$height_big);
ImageCopyResampled($out_big,$in,0,0,0,0,$width_big,$height_big,$rozmer[0],$rozmer[1]);
ImageJpeg($out_big,"$cesta/$mobr_big",80);
ImageDestroy($out_big);
endif;
ImageDestroy($in);
Edit: Niekedy mi v iných scriptoch robí problém pri veľkých súboroch aj funkcia copy(), preto som to tu spomenul.
Momentálne mi ide všal o tento script.
Zdá sa že samotný upload je v poriadku, problém je pri ImageCreateTruecolor a pokiaľ sa jedná o veľký obrázok.
Hmmm toto je uz jen samotna prace s tim obrazkem, zkousel jsi to treba na localhostu? Takto muzes presne zjistit kde je chyba, na localhostu nemusis nic uploadovat.
Radeji pouzivej pro "begin" "end" Ceckove zavorkovani { } je to pak podstatne prehlednejsi.
A v HTML uzavirej input <input type=".." .... /> a kdyz budes davat uvozovky vsude, tak tim nic nezkazis, spise naopak.
No jo, díky za rady.... Ten input je zaujímavý, o tom som nevedel (<input type="".. />)
Na localhoste mi ImageCreateTruecolor nejde. No, nemám tu library.
No v HTML tagy zavirat teoreticky nemusis, ale v XHTML uz ano, dela to pak mensi bordel na strance, pokud uzaviras vsechny tagy, vsak si nech tu stranky projet validatorem, otevri ji v Opere a CTRL+ALT+V ji posle na w3c validator a validni stranka je jiz jistym znakem urovne toho kdo ji psal ;)
Jinak si to na locale dokonfiguruj, delat nejaky web a posilat ho hned na hosting je zdlouhave, vzdy rozjedu cely web u sebe a pak aspon zjistuju, ze ten hosting stoji za [I], protoze me naraz nejede XY veci :)
..protoze IE obcas odmitne poslat prvni input, pokud je ve formulari <input type="file" ...>, nebo to mozna dela kdyz je ve formu <... enctype="multipart....">, tezko rict.Citace:
Původně odeslal Lopan
Parkrat jsem uz z toho sedivel. :roll:
Ach taaaak, nj MS standarty rulez :evil: