Problem s obrazkami – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problem s obrazkami – PHP – Fórum – Programujte.comProblem s obrazkami – PHP – Fórum – Programujte.com

 

Milan0
Stálý člen
6. 8. 2006   #1
-
0
-

Mam problem ak dam v php zobrazit obrazky, ktore mam ulozene v DB(ich nazov) zobrazuju sa mi len obrazky s mensou kapacitou (tak do 60kB) ..v kode problem urcite nie je kedze mi niektore zobrazi a ine nie...ked kliknem na obrazok ktory sa nechce zobrazit vypise mi toto:
Obrázek ?http://localhost/NEWPAGE/OBRAZKY/obrazok.jpg? nelze zobrazit, protože obsahuje chyby.
ale ak dam ten isty obrazok zobrazit len v html klasicky vsetko funguje..teda obrazok nie je poskodeny... Netreba nieco nastavit v php? dik za rady...

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
6. 8. 2006   #2
-
0
-

Ja jsem taky kdysi mel tento problem. Vyresil jsem ho tak, ze jsem obrazky prestal ukladat do databaze a misto toho je kopiruju do k tomu urcene slozky a v databazi mam pak jen jakysi odkaz na ten obrazek. Navic je to elegantnejsi a rychlejsi pro pozdejsi zpracovani obrazku.

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Marek Štafl0
Stálý člen
6. 8. 2006   #3
-
0
-

Zkus sem hodit k?dy, jak obr?zky do datab?ze ukl?d?? a jak je od tamtud vytahuje? a zobrazuje?.
Zrovna ned?vno jsem byl nucen se t?mto probl?mem zab?vat, tak bych Ti mo?n? dovedl poradit.
Nic neslibuju, ale zkusit to m??u :cigo:

Nahlásit jako SPAM
IP: ...–
Milan0
Stálý člen
6. 8. 2006   #4
-
0
-

nie som odbornik na php takze niektore veci riesim nie tak ako by sa malo:)

takze aby som nemusel ukladat kazdy obrazok rucne do db... pouzil som len toto

if ($send):

if (is_uploaded_file($_FILES["file"]["tmp_name"])):
$filename=$_FILES["file"]["name"];
$filesize=round($_FILES["file"]["size"]/1024);
MySQL_Query("INSERT INTO photo VALUES('','$filename','$kategoria','$filesize')");
endif;
endif;


a vypis je takto...
<?php

$i=1;

@$fot = mysql_query("select * from photo where kategoria='$kat'");

while($f_n = mysql_fetch_array($fot))

{

if($i==1)echo "<tr>";
?>


<td><a href="index.php?page=image&id_ob=<?php echo"$f_n[id_ob]";?>"><img src="OBRAZKY/<?php echo"$f_n[ob_name]";?>" width="100" border="0" title="Klikni pre detajli obrazka"></a></td>


<?php
if($i==4){echo "</tr>";$i=0;}
$i++;
}

?>


dakujem za kazdu pomoc aj snahu:)

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Marek Štafl0
Stálý člen
7. 8. 2006   #5
-
0
-

EDIT: ?e Ty m?? ten sloupec v tabulce, kam ukl?d?? obr?zky typu BLOB?
Jestli jo, tak je to jasn?: typ BLOB pojme maxim?ln? 65.535 bajt?, co? je zhruba 60 kB. Pokud se pokus?? vlo?it v?ce, p?eb?vaj?c? data se o??znou a t?m p?dem je ten obr?zek samoz?ejm? po?kozen?!
Nastav ten sloupec na typ MEDIUMBLOB (16.777.215 bajt?) nebo LONGBLOB (4.294.967.295 bajt?), pak bude? moci vkl?dat v?t?? obr?zky.

A t?m p?dem u? ani nemus?? ??st d?l :))
Ale mazat u? to nebudu:

J? jsem teda ty Tv? k?dy moc nepochopil, ale to je t?m, ?e to d?l?m jinak.
Nap??u Ti tady aspo?, jak to d?l?m j?:

Ulo?en? obr?zku do datab?ze:



$obrazek = fopen("obrazek.jpg", "r"); // otev?eme soubor obr?zku pro ?ten?
$binarni_data = fread($obazek, filesize("obrazek.jpg")); // na?teme obsah do prom?nn?
$binarni_data = addslashes($binarni_data); // pro jistotu oescapujeme
// a ulo??me do datab?ze
$db_dotaz = "INSERT INTO tabulka (obrazek, velikost) VALUES ('".$binarni_data.'", '".filesize("obrazek.jpg")."')";
$db_poloz_dotaz = @mysql_query($db_dotaz);
if (!$db_poloz_dotaz) {
$chybove_hlaseni = "P?i pokl?d?n? dotazu datab?zi do?lo k chyb?: ".mysql_error();
}


Script generuj?c? obr?zek (ten, co jej vyt?hne z datab?ze - je zvl?, nen? sou??st? html souboru), dejme tomu, ?e ho ulo??me jako obrazek.php:


if (isset($_GET["id_obrazku"])) {
$db_dotaz = "SELECT * FROM tabulka WHERE id = '".$_GET["id_obrazku"]."'";
$db_poloz_dotaz = mysql_query($db_dotaz);
if (!$db_poloz_dotaz) {
$chybove_hlaseni = "P?i pokl?d?n? dotazu datab?zi do?lo k chyb?: ".mysql_error();
} else {
$vysledek = mysql_fetch_array($db_poloz_dotaz);
Header("Content-Type: image/jpeg"); // tady ?ekneme prohl??e?i, ?e vypisovan? data jsou obr?zek
echo $vysledek["obrazek"]; // tady se vyp??? data obr?zku z datab?ze, ale v tomto scriptu s nimi pracovat nebudeme
}
}


No, a tohle u? vlo??? do str?nky, na kter? chce? ten obr?zek z datab?ze zobrazit:


<img src="obrazek.php?id_obrazku=1"/>


To? v?e. Douf?m, ?e je to pochopiteln? a ?e tam nejsou chyby.
Sloupec tabulky v datab?zi, do kter?ho se ukl?d? obr?zek, mus? b?t samoz?ejm? typu BLOB!
J? to takhle pou??v?m a funguje to s jakkoli velk?mi obr?zky.

Nahlásit jako SPAM
IP: ...–
Milan0
Stálý člen
7. 8. 2006   #6
-
0
-

sposobom co som pisal ja len prostrendictvom formularu ukladam do db len nazov obrazku nic viac... typ mam len varchar(255) a niekedy sa mi nechcu zobrazit ani tie male obrazky niekedy to ide niekedy zase nie.. to iste mi robi aj s flash animaciami a obrazkami ktore nemam vobec v db..

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Marek Štafl0
Stálý člen
7. 8. 2006   #7
-
0
-

Tak?e Ty do datab?ze ukl?d?? jen n?zev obr?zku?
A k ?emu to je? V?dy? j? nikde v tom Tv?m scriptu nevid?m funkci move_uploaded_file() nebo copy(), kter? ten obr?zek zkop?ruje z do?asn? slo?ky pro uploadovan? soubory do n?jak? slo?ky na Tv?m serveru.
Z t? do?asn? slo?ky jsou uploadnut? soubory odstran?ny hned po skon?en? scriptu.
Nav?c $_FILES["file"]["name"] obsahuje pouze n?zev souboru na po??ta?i u?ivatele bez uveden? cesty a ne n?zev souboru, jak ho ulo??? na sv?j server.

Nahlásit jako SPAM
IP: ...–
Milan0
Stálý člen
7. 8. 2006   #8
-
0
-

Ja pouzivam ten formular len na to aby som nemusel rucne pisat nazvy obrazkov do db kedze niektore maju nazov PS002356,PS002357...adt. a je ich vela.. ja mam uz tie fotky ulozene na servery v samostatnej zlozke..z DB len vyberiem nazov toho obrazku...kopirovat ho uz nikam nemusim... zatial to mam len na mojom PC, ked to supnem na server snad pojde normalne:)

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Milan0
Stálý člen
16. 8. 2006   #9
-
0
-

fakt uz neviem co mam s tymi obrazkami robit.. neviem kde moze byt problem ked niektore idu ine nie... pomooooooooooc!

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Ondrej Jur??ek
~ Moderátor
0
Stálý člen
16. 8. 2006   #10
-
0
-

V kode by som chybu nehladal, aj ked je dost svojsky napisany :)) . Raz som tiez tento problem riesil. Raz sa mi obrazky zobrazovali, inokedy nie. Nakoniec som to niejako vyriesil, ale teraz (aj keby ma mucili) si uz nespomeniem v com bola chyba.
Ale mam taky maly tusak, ze to bolo zlym nakonfigurovanim Apache. Defaultne nastaveny port na ktorom pocuva Apache poziadavky je 80 a prave tento isty port mi vyuzivala niejaka ina aplikacia. Tym sa Apache zapasil s tou aplikaciou a raz mi isiel a raz nie. Port som nastavil na 8080 a bolo vyriesene. Ale naozaj teraz uz netusim, ci to bol tento problem. :((

Skus sa pozriet ked sa ti obrazok nezobrazi do vygenerovaneho HTML kodu, ci je kompletny. Ak ti tam nieco nebude sediet, tak problem je ten co som popisal, ak je vporiadku tak chyba bude inde (mozno zle nakonfigurovana databaza, alebo zle zavedeny PHP ako modul do Apache).

Nahlásit jako SPAM
IP: ...–
16. 8. 2006   #11
-
0
-

Co takhle použít specializované obrázkové funkce



<?
Header("Content-type: image/jpeg");
$im = imagecreatefromjpeg("./test.jpg");
Imagejpeg($im,'',20);
ImageDestroy($im);
?>


Jpeg ve všech funkcích můžeš nahradit gif nebo png. Všechny funkce image* vyžadují knihovnu GD.

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Milan0
Stálý člen
23. 9. 2006   #12
-
0
-

no asi mam zle nastavenie apachu... umiestnil som na web aj flash animaciu ktora obsahuje aj preloader vzhladom na jej velkost.. pri otvoreni stranky sa mi animacia nezobrazuje vobec alebo sa mi nacita po castiach ked dam viackrat refresh celej stranky v prehliadaci (pri obrazkoch mi ukaze stvrtinu a po dalsom refreshi polku alebo nic atd..). Robi si to co chce.. Neviem sa z toho vymotat...

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Milan0
Stálý člen
24. 9. 2006   #13
-
0
-

ako test som vyskusal len jednoduchy html kod ulozeny ako php subor:

<html>

<head>
<title>Title here!</title>
</head>
<body>
<table align="center">
<tr><td>
<img src="OBRAZKY/img.jpg">
</td></tr>
</table>
</body>
</html>


subor img.jpg ma priblizne 700Kb a zobrazilo mi z neho len cast alebo vobec nic.. ako keby bol port na chvilu otvoreny a subor sa nestihol zobrazit cely alebo co..nevyznam sa do toho.. zatial mi web pracuje len na localhoste...?

Nahlásit jako SPAM
IP: ...–
www.milankohut.com
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

PHP a práca s obrázkami — založil george

Problém — založil Jano

Problem — založil Ghosta

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý