Src v <img> pomocí PHP proměnné

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Src v <img> pomocí PHP proměnné
« kdy: 23. 10. 2015, 16:18:04 »
Ahoj,
do proměné $svg jsem ziskal string, ketry budem obsah nasledujici souboru vytvořeného v php

Kód: [Vybrat]
$file=tempnam('/var/www/web1/pdf/tmp/', 'model_'.date(Y.m.d).'_').'.svg';
$handle = fopen($file, "w");
fwrite($handle, $svg);
fclose($handle);
toto fachčí, soubor se vytvoří a obsahuje to co má

chtěl bych teď tento soubor ve stejném php kodu použít jako zdroj v <img>
<img src= ". $file . ">

lze v tomto případě proměnou $file použít jako cestu k souboru?
« Poslední změna: 25. 10. 2015, 21:56:07 od Petr Krčmář »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.


Lol Phirae

Re:src v <img> pomocí php proměné
« Odpověď #1 kdy: 23. 10. 2015, 16:38:04 »
Tahle rozhodně ne...

Kit

Re:src v <img> pomocí php proměné
« Odpověď #2 kdy: 23. 10. 2015, 16:40:33 »
chtěl bych teď tento soubor ve stejném php kodu použít jako zdroj v <img>
<img src= ". $file . ">

lze v tomto případě proměnou $file použít jako cestu k souboru?

Nelze. Musíš použít cestu pro virtuální prostředí webového serveru. Často je však výhodnější generovat obsah dotyčného souboru až ve chvíli přístupu - nemusí pak fyzicky na disku vůbec existovat, resp. stačí, když bude v cache.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:src v <img> pomocí php proměné
« Odpověď #3 kdy: 23. 10. 2015, 16:45:44 »
chtěl bych teď tento soubor ve stejném php kodu použít jako zdroj v <img>
<img src= ". $file . ">

lze v tomto případě proměnou $file použít jako cestu k souboru?

Nelze. Musíš použít cestu pro virtuální prostředí webového serveru. Často je však výhodnější generovat obsah dotyčného souboru až ve chvíli přístupu - nemusí pak fyzicky na disku vůbec existovat, resp. stačí, když bude v cache.

generovat obsah souboru, tak aby se fyzicky na disk vubec neulozil, by se mi zamlouvalo nejvic...nemas prosim nejakej priklad, kde bych se mohl inspirovat?
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:src v <img> pomocí php proměné
« Odpověď #4 kdy: 23. 10. 2015, 17:00:24 »
v pripade promene $svg je obsah souboru v podstate jen v pameti
az vise uvedenym zapisem 'fwrite' ho ulozim do souboru

ale jak do <img src=" "> nandat ze zdrojem je obsah promene $svg a ze se to ma reprezentovat jako datovy typ svg, na to jsem neprisel

Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.


Re:src v <img> pomocí php proměné
« Odpověď #5 kdy: 23. 10. 2015, 17:03:00 »
co potrebujes tak to je:
- v prvnim skriptu jen vypsat <img src="/obrazek.php?date=YYYY-mm-dd">
- v druhem skriptu udelat ten obrazek  a poslat ho na vypis. v html sice bude obrazek.php, ale pomoci hlavicek prohlizeci reknes, ze je to svg
Děkuji za možnost editace příspěvku.

Kit

Re:src v <img> pomocí php proměné
« Odpověď #6 kdy: 23. 10. 2015, 17:35:37 »
generovat obsah souboru, tak aby se fyzicky na disk vubec neulozil, by se mi zamlouvalo nejvic...nemas prosim nejakej priklad, kde bych se mohl inspirovat?

Tu část s generátorem dáš do dalšího skriptu, ke kterému uděláš REST API s příslušným přesměrováním od webserveru. Je však nutné kód
Kód: [Vybrat]
'model_'.date(Y.m.d).'_.svg'
upravit na něco, z čeho se požadovaný SVG dá vygenerovat a přitom nemusel URL složitě parsovat. Třeba i takhle jednoduše:
Kód: [Vybrat]
<img src="/model/$date">
Vzhledem k tomu, že to bude asi nějaký graf denního provozu, slovo "model" doporučuji nahradit něčím vhodnějším, například "graf". Nemám dostatek informací na to, abych ti mohl navrhnout lepší název.

Několik dalších řešení:
http://www.sitepoint.com/add-svg-to-web-page/
Do HTML5 můžeš SVG vkládat i inline, což by mohlo být v daném případě úplně nejjednodušší.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:src v <img> pomocí php proměné
« Odpověď #7 kdy: 23. 10. 2015, 17:36:13 »
ve skutečnosti jde o tento proces:


to svg předávám takto,protože se odesílá jeho aktualní stav změněný pomocí interakce uživatele na webu
na generovaní PDF jsem použil knihovnu mPDF
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Homo Buzerantus

Re:src v <img> pomocí php proměné
« Odpověď #9 kdy: 24. 10. 2015, 19:16:35 »
Pokud ten obrázek není moc velký, můžeš použít data url, vygeneruješ "<img src="data:image/svg+xml;base64," a pak k tomu přidáš ten svg obrázek zakódovaný pomocí base64. Nebudeš muset ten obrázek nikam ukládat ani ho generovat v nějakém zvláštním kódu.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Src v <img> pomocí PHP proměnné
« Odpověď #10 kdy: 26. 10. 2015, 09:39:59 »
- v mém případě je to svg hodně objemné
- další bariera je to, že já ho potřebuju předat PHP knihovně mPDF, která ho dostane do výsledného PDF

běžné hodnoty proměných se tam takto dostanou, ale string obsahující svg/xml to nevyrenderuje ať se to vloží do jakéhokoliv tomu určenému tagu
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Re:Src v <img> pomocí PHP proměnné
« Odpověď #11 kdy: 26. 10. 2015, 11:05:19 »
pokud to neni lepeni na nejakym levnym hosting a mas tu moznost tak doporucuju vyprdnout se na cely mpdf a pouzit wkhtmltopdf. usetris si obrovskou spoustu prace.
Děkuji za možnost editace příspěvku.

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Src v <img> pomocí PHP proměnné
« Odpověď #12 kdy: 26. 10. 2015, 11:28:51 »
ohledně toho wkhtmltopdf nemáš čirou náhodou zkučenost s podobným cílem jako já?
předat svg k rendrovaní PDF pomocí PHP proměné
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Re:Src v <img> pomocí PHP proměnné
« Odpověď #13 kdy: 26. 10. 2015, 11:56:23 »
mimo http://wkhtmltopdf.org/ existuje ještě http://phantomjs.org/

mpdf moc nedoporučuju, je s tím ve výsledku dost práce a jsou potřeba kompromisy, protože to prostě nefunguje dokonale (i když je to asi nejpokročilejší knihovna pro daný účel a PHP)

vložení svg do html je samostatný problém, který by měl tazatel zvládnout nezávisle na generování pdf, jinak v tom bude plavat

ZAJDAN

  • *****
  • 2 078
    • Zobrazit profil
    • E-mail
Re:Src v <img> pomocí PHP proměnné
« Odpověď #14 kdy: 26. 10. 2015, 13:30:46 »
je to škoda, protože všechno ostatní se mi s knihovnou mPDF dělá velmi dobře a vše funguje, jen ne to předání svg přes php proměnou
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.