Autor | Zpráva | ||
---|---|---|---|
pepa.domek Profil * |
#1 · Zasláno: 11. 10. 2010, 13:33:19
Poradil by mi někdo jak udělat aby PHP script který najde v DB nejnovější obrázek vracel jen JPG a ne HTML stránku?
Zkoušel jsem googlit ale asi nevím jak to zadat protože jsem nic nenašel, děkuji za radu. |
||
radas Profil * |
#2 · Zasláno: 11. 10. 2010, 14:01:04
a co vše je uložene v db?
|
||
pepa.domek Profil * |
#3 · Zasláno: 11. 10. 2010, 14:02:58
Název souboru a čas,pomocí SQL najdu nejnovejsi snimek ale potrebuju poradit, jak udelat aby ten php vratil jen obrazek a ne php stranku.
|
||
panther Profil |
#4 · Zasláno: 11. 10. 2010, 14:05:22
pepa.domek:
„PHP script který najde v DB nejnovější obrázek“ ukládej si čas, tahej data seřazená dle času (order by). Případně, je-li tam ID auto_increment, můžeš řadit dle ID - nejnovější obrázek bude mít nejvyšší ID. Pokud s časem nepotřebuješ dále pracovat, např. ho vypisovat, je tam zbytečný. „jak udelat aby ten php vratil jen obrazek a ne php stranku.“ tohle nechápu. SQL vrátí obrázek (lép ukládat jen cestu k němu, ne fyzicky celý obrázek), pomocí PHP ho vypíšeš na nějakou stránku. |
||
pepa.domek Profil * |
#5 · Zasláno: 11. 10. 2010, 14:46:43
panther: ale ja potrebuji aby mi neco.php vratilo primo obrazek a ne ... <img src="nalezenyobrazek.jpg"> ...atd. nevim jak to v php napsat
|
||
panther Profil |
#6 · Zasláno: 11. 10. 2010, 14:50:03
pepa.domek:
tak můžeš třeba na ten obrázek přesměrovat, header(). |
||
Mikeses Profil |
#7 · Zasláno: 11. 10. 2010, 15:08:15 · Upravil/a: Mikeses
pepa.domek:
Nevím co myslíš, ale snad ti to pomůže. <?php $nejnovejsiobrazek=mysql_query("SELECT * FROM tabulka order by ID DESC LIMIT 1"); while($nejnovejsiobrazek=mysql_fetch_array($nejnovejsiobrazek)) { echo "<img src=".$nejnovejsiobrazek["cesta"]." alt=".$nejnovejsiobrazek["popisek"].">"; } ?> |
||
Debo Profil * |
#8 · Zasláno: 11. 10. 2010, 15:20:41
Možná může být problém v tom co máš v databázi. Jestli si to uložil jako tag nebo to tam php vkládá jako tag a ne jako samotnou cestu tak je problém tady. Jestli máš v databázi jen samotnou cestu tak ti to nemůže načítat celý tag...
|
||
panther Profil |
#9 · Zasláno: 11. 10. 2010, 15:22:06
Mikeses, Debo:
jste oba dva mimo. On nechce vypsat obrázek do stránky (tag IMG), chce něco jiného. |
||
Keeehi Profil |
#10 · Zasláno: 11. 10. 2010, 15:51:29
Nějak takto:
<?php $result=mysql_query("SELECT cesta FROM tabulka ORDER BY id DESC LIMIT 1"); $cesta=mysql_result($result,0); header("Content-Type: image/jpeg"); echo file_get_contents($cesta); ?> |
||
pepa.domek Profil * |
panther: zkoušel jsem
…. $filepath =… header("Content-Type: image/jpeg"); readfile($filepath); ale obrazek mi to neukaze |
||
Keeehi Profil |
#12 · Zasláno: 11. 10. 2010, 16:19:54
Fungovat by to mělo. Pokud to nefunguje, máte nejspíše zapsanou špatně cestu.
|
||
pepa.domek Profil * |
tak se mi nakonec podarilo dopatrat vysledku kdyby to nekdy nekdo potreboval
<?php …. $filepath =… header('Content-Type: image/jpeg'); ob_clean(); flush(); readfile($filepath); exit; ?> Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
pepa.domek Profil * |
#14 · Zasláno: 11. 10. 2010, 17:33:44
tak mi to fungovalo na localhostu ale na serveru ne (
|
||
AM_ Profil |
#15 · Zasláno: 11. 10. 2010, 20:10:25
[#13] pepa.domek
pokud to vypadá takhle, znamená to, že máš bordel jinde v kódu, funkce flush() je tam zcela zbytečná a pokud pomohl ob_clean, znamená to, že 1) máš zapnuté output bufferování a nemáš moc ošetřené jeho ukončení 2) před ob_clean() se zřejmě něco vypisovalo což by nemělo, protože pokud by ne, tak by ob_clean() nepomohl. to co jsi napsal v [#11] pepa.domek je funkční, ale samozřejmě pokud to vrazíš doprostřed špatně napsaného kódu, tak sebelepší skript nebude dělat úplně to co má :) |
||
pepa.domek Profil * |
#16 · Zasláno: 13. 10. 2010, 10:54:28
Nevim si rady ale pokud pouziji jen toto
<?php header('Content-Type: image/jpeg'); readfile('neco.jpg'); ?> tak to mi funguje, ale pokud tam mám vic kodu a i kdyz nic nevypisuje tak to nefunguje ( <?php header('Content-Type: image/jpeg'); include("connect.php"); $sql = "select file from tab order by date desc limit 1"; $res = mysql_query($sql); $zaz = mysql_fetch_array($res); $file = $zaz["file"]; $filepath = "archiv/" . substr($file, 7, 6) . "/" . $file; readfile($filepath); ?> věděl by někdo proč ten druhy script má problém vrátit obrázek? |
||
Keeehi Profil |
#17 · Zasláno: 13. 10. 2010, 10:56:57
pepa.domek:
Zakomentuj header(); v druhém scriptu a vyskočí na tebe nějaká chybová hláška. Když tu chybu opravíš, mělo by to fungovat. |
||
pepa.domek Profil * |
#18 · Zasláno: 13. 10. 2010, 11:04:14
Keeehi: díky,ale žádná chyba tam nebyla
napadlo mě teď místo include("connect.php"); tam ty příkazy pro připojení do DB vložit přímo a už to jede,ale nechapu že tomu vadil include,jestli je nějaký jiný nastaveni na webhostingu než bývá zvykem,tomu nerozumím protože to funguje u jinych php stranek a znaky tam taky navic nevklada tak proc to vadilo v tomhle pripade nevim |
||
Keeehi Profil |
#19 · Zasláno: 13. 10. 2010, 11:56:47
Pak to asi mohla způsobit nějaká mezera před
<?php nebo za ?> v tom includovaném souboru.
|
||
Časová prodleva: 14 let
|
0