Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 15. 2. 2012, 20:10:19
Zdravím. Nyní jsem začal potřebovat ve fci Require použít gety tzn. require("plugins/media_players/".options("media_player")."/index.php?url_media=$url&width_media=$width&height_media=$height");
jde mi o to jestli lze v requiru použít to "/index.php?url_media=$url&width_media=$width&height_media=$height" tudíž jestli můžu v tom souboru index.php pak zvolat obsah echo $_GET['width_media']; a jestli mi to normálně vypíše $width... předem díky za odpověď |
||
abc Profil |
Fisak:
Co to třeba zkusit? :-) |
||
Fisak Profil |
#3 · Zasláno: 15. 2. 2012, 20:42:00
abc:
blbá otázka :-) zkusil sem to nešlo mi to nevím jestli mám chybu v kodu nebo jestli to opravdu nejde |
||
abc Profil |
#4 · Zasláno: 15. 2. 2012, 20:51:07
Fisak:
Otázka rozhodně blbá není.. Stačilo v prvním postu napsat něco jako: "zkusil jsem, ale nešlo mi to" ;) Jistě jsi i zabrousil do manuálu, kde je u fce require napsáno volně přeloženo "viz dokumentace include()", kde jsi jistě narazil na třetí ukázku, kde se dozvíš, jak dosáhnout požadovaného cíle.. Odkaz |
||
Fisak Profil |
#5 · Zasláno: 15. 2. 2012, 21:36:39 · Upravil/a: Fisak
V tom případě mi přijde že to mam dobře.. pokud to dobře chápu
//načte řetězec function load_page($string) { require(BASE."/$string"); } if ($result_media_player === false) { load_page("plugins/media_players/".options("media_player")."/index.php?url_media=$url&width_media=$width&height_media=$height"); } <script type="text/javascript"> jwplayer("mediaspace").setup({ flashplayer: "/plugins/media_players/black_player/player.swf", height: <?php echo $_GET['height_media']; ?>, width: <?php echo $_GET['width_media']; ?>, levels: [ { file: "<?php echo $_GET['url_media']; ?>" } ] }); </script> BASE = adresář... chybu to vypisuje na řádek: load_page("plugins/media_players/".options("media_player")."/index.php?url_media=$url&width_media=$width&height_media=$height"); Warning: include(/home/users/insignia/insignia.funsite.cz/web/plugins/media_players/black_player/index.php?url_media=/uploads/Bez nzvu.mp3&width_media=auto&height_media=auto): failed to open stream: No such file or directory in /home/users/insignia/insignia.funsite.cz/web/system/function/function.main.php on line 202 Warning: include(): Failed opening '/home/users/insignia/insignia.funsite.cz/web/plugins/media_players/black_player/index.php?url_media=/uploads/Bez nzvu.mp3&width_media=auto&height_media=auto' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/users/insignia/insignia.funsite.cz/web/system/function/function.main.php on line 202 |
||
LosFilipos Profil |
Fisak:
Zřejmě si nepochopil, co se snažil abc říci (a na co odkazoval do manuálu php). Funkce require, stejně jako include, přidá do tvého kódu (na místo, ze kterého funkci voláš) daný obsah souboru a ten se stane součástí kódu samotného, tedy: Soubor promenne.php (ten co inkluduješ): $barva = 'zelene'; $ovoce = 'jablko'; soubor index.php (ten do kterého includuješ): echo "$ovoce je $barva"; // vypíše: "je" include 'promenne.php'; echo "$ovoce je $barva"; // vypíše: "jablko je zelene" |
||
Fisak Profil |
#7 · Zasláno: 15. 2. 2012, 23:11:36 · Upravil/a: Fisak
LosFilipos:
no to sem pochopil bohužel mám problém s tím že se mi nějak netějí ty proměnné do toho souboru index.php načítat ... //media přehrávač function media_player($url, $width = "auto", $height = "auto") { static $result_media_player = false; if(options("media_player") != "default") { if ($result_media_player === false) { load_page("plugins/media_players/".options("media_player")."/index.php"); } } else { if ($result_media_player === false) { return ("<video src=\"$url\" width=\"$width\" height=\"$height\" controls> <object id=\"mediaplayer\" classid=\"clsid:6bf52a52-394a-11d3-b153-00c04f79faa6\" type=\"application/x-oleobject\" width=\"$width\" height=\"$height\"> <param name=\"url\" value=\"$url\"> <param name=\"autostart\" value=\"1\"> <param name=\"showcontrols\" value=\"1\"> <param name=\"stretchtofit\" value=\"0\"> <param name=\"enablecontextmenu\" value=\"0\"> <param name=\"ShowStatusBar\" value=\"1\"> <embed src=\"$url\" autostart=\"1\" type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/Windows/MediaPlayer/\" transparentatstart=\"0\" animationatstart=\"0\" showcontrols=\"1\" autosize=\"0\" displaysize=\"0\" showtracker=\"0\" showstatusbar=\"1\" width=\"$width\" height=\"$height\"> </object> </video>"); } } } Obsah index.php <script type="text/javascript" src="/plugins/media_players/black_player/jwplayer.js"></script> <script type="text/javascript" src="/plugins/media_players/black_player/swfobject.js"></script> <div name="mediaspace" id="mediaspace"></div> <script type="text/javascript"> jwplayer("mediaspace").setup({ flashplayer: "/plugins/media_players/black_player/player.swf", height: <?php echo $height; ?>, width: <?php echo $width; ?>, levels: [ { file: "<?php echo $url; ?>" } ] }); </script> A problém je v tom že pokud je nastavený přehrávač "default" tak se mi normálně spustí ovšem když je jiný tak už ne .. |
||
LosFilipos Profil |
Fisak:
„mám problém s tím že se mi nějak netějí ty proměnné do toho souboru index.php načítat“ Protože ten require voláš uvnitř funkce a ta "nevidí" proměnné venku. Řešením je buď předat tyto proměnné jako parametr oné funkce load_page, nebo je uvnitř této funkce učinit globálními. Tyto dvě řešení dělají totéž: function load_page($str) { global $karel; include($str); } $karel = "Obsah proměnné"; load_page("include.php"); function load_page($str,$karel) { include($str); } $karel = "Obsah proměnné"; load_page("include.php",$karel); obsah include.php echo $karel; Obě dvě funkce vypíšou "Obsah proměnné". |
||
Fisak Profil |
#9 · Zasláno: 15. 2. 2012, 23:40:38 · Upravil/a: Fisak
LosFilipos:
když jí udělám globální tu proměnou tak nastane problém s tim že pokud vyvolám funkci několikrát pokaždý s jinejma hodnotama tak už to bude robit bordel.. ale už asi vím čím to je.. ono mi to totiž dříve normálně fungovalo a najdnou mi to nefunguje... |
||
LosFilipos Profil |
#10 · Zasláno: 15. 2. 2012, 23:41:48
Fisak:
V tom případě proměnné předávej jako parametr... |
||
Fisak Profil |
#11 · Zasláno: 15. 2. 2012, 23:51:39
LosFilipos:
jak to myslíš ?? můžeš prosím uvést příklad ? |
||
LosFilipos Profil |
#12 · Zasláno: 15. 2. 2012, 23:53:46
Fisak:
function load_page($str,$parametr1,$parametr2) { include($str); } load_page("include.php",$promenna1,$promenna2); V souboru include.php budeš používat názvy "$parametr1" a "$parametr2". |
||
Fisak Profil |
#13 · Zasláno: 16. 2. 2012, 00:06:29 · Upravil/a: Fisak
LosFilipos:
no teď mě moc nechápeš ty :-) takhle to mam viz[#7] Fisak ale je pravda že pokud sem nahradil: if ($result_media_player === false) { load_page("plugins/media_players/".options("media_player")."/index.php"); } if ($result_media_player === false) { require("plugins/media_players/".options("media_player")."/index.php"); } |
||
LosFilipos Profil |
#14 · Zasláno: 16. 2. 2012, 00:15:20 · Upravil/a: LosFilipos
Fisak:
No právě že chápu... Funkci load_page chybí parametry height, width a url... Funkce media_player je má jako parametr, ale už je nepředá do toho require, protože funkce load_page má pouze jeden parametr, a to string. Pokud to má fungovat, uprav funkci load_page takto: function load_page($string,$url,$width,$height) { require(BASE."/$string"); } a její volání uvnitř funkce media_player: //media přehrávač function media_player($url, $width = "auto", $height = "auto") { static $result_media_player = false; if(options("media_player") != "default") { if ($result_media_player === false) { load_page("plugins/media_players/".options("media_player")."/index.php",$url,$width,$height); } } else { if ($result_media_player === false) { return ("<video src=\"$url\" width=\"$width\" height=\"$height\" controls> <object id=\"mediaplayer\" classid=\"clsid:6bf52a52-394a-11d3-b153-00c04f79faa6\" type=\"application/x-oleobject\" width=\"$width\" height=\"$height\"> <param name=\"url\" value=\"$url\"> <param name=\"autostart\" value=\"1\"> <param name=\"showcontrols\" value=\"1\"> <param name=\"stretchtofit\" value=\"0\"> <param name=\"enablecontextmenu\" value=\"0\"> <param name=\"ShowStatusBar\" value=\"1\"> <embed src=\"$url\" autostart=\"1\" type=\"application/x-mplayer2\" pluginspage=\"http://www.microsoft.com/Windows/MediaPlayer/\" transparentatstart=\"0\" animationatstart=\"0\" showcontrols=\"1\" autosize=\"0\" displaysize=\"0\" showtracker=\"0\" showstatusbar=\"1\" width=\"$width\" height=\"$height\"> </object> </video>"); } } } Fisak: „tak to najednou funguje....“ No vida... Pokud je jedinou funkčností funkce load_page přídat to BASE, opravdu tam být nemusí, pokud dělá ještě něco jiného, musíš ji přidat ty parametry... |
||
Fisak Profil |
#15 · Zasláno: 16. 2. 2012, 00:35:50
LosFilipos:
dobře díky za pomoc :-) |
||
Časová prodleva: 14 let
|
0