Výsledky 1 až 11 z 11

Téma: [php] vygenerovani nazvu funkce

  1. #1

    Standardní [php] vygenerovani nazvu funkce

    mam php skript kterej pracuje s obrazkama s tim, ze si uzivatel muze zvolit vystup (jpeg,png,wbmp...), takze pouzivam funkci imagejpeg() resp. imagepng() resp. imagewbmp()... momentalne to mam pres switch, ale zajimalo by me, jestli to muzu vyresit i nejakym dosazenim toho typu z promenne, abych mohl dat neco jako
    Kód:
    image$typ()
    (to samozrejme nefunguje )
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  2. #2

    Standardní

    Mělo by to jít pomocí fce. eval()

    Kód:
    <?
    $neco = "abs";
    eval&#40;"echo $neco&#40;-4&#41;;"&#41;;
    ?>
    -- under construction --

  3. #3
    Administrátor mince Avatar uživatele Jezevec
    Založen
    08.10.2002
    Bydliště
    Teplice
    Příspěvky
    6 738
    Vliv
    300

    Standardní

    To bych nedelal, ten case je lepsi reseni. Jakmile to budes brat primo z promeny, neni problem ti tam poslat neco uplne jinyho.
    IMPROBE AMOR, QUID NON MORTALIA PECTORA COGIS - krutá jsi, lásko, kam až ty doženeš smrtelná srdce -- Vergilius
    Mnoho je prostředků, které léčí lásku, ale žádný není spolehlivý.
    S tím, čeho se na nás dopustili druzí se už nějak vyrovnáme. Horší je to s tím, čeho jsme se na sobě dopustili sami.
    -- Francois La Rochefoucauld
    Nabídnout přátelství tomu, kdo chce lásku, je jako dát chleba tomu, kdo umírá žízní.

  4. #4

    Standardní

    Citace Původně odeslal Jezevec
    To bych nedelal, ten case je lepsi reseni. Jakmile to budes brat primo z promeny, neni problem ti tam poslat neco uplne jinyho.
    jo, to me taky napadlo. akorat otestuju, ze to je z urcite mnoziny retezcu
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  5. #5

    Standardní

    Citace Původně odeslal Jezevec
    To bych nedelal, ten case je lepsi reseni. Jakmile to budes brat primo z promeny, neni problem ti tam poslat neco uplne jinyho.
    No to je pravda , ale otázka byla, jestli to jde
    -- under construction --

  6. #6

    Standardní

    hm, tak jeden eval jsem uz prekonal, ale mam problemy s druhym...
    Kód:
    $image_types_load = array&#40;1=>"gif",2=>"jpeg",3=>"png",15=>"wbmp",16=>"xbm"&#41;;
    $image_types_output = array&#40;2=>"jpeg",3=>"png",15=>"wbmp"&#41;;
    list&#40;$original_width,$original_height,$original_type&#41; = getimagesize&#40;$file&#41;;
    eval&#40;"\$image = imagecreatefrom&#123;$image_types_load&#91;$original_type&#93;&#125;&#40;\$file&#41;;"&#41;;
    $command = "image&#123;$image_types_output&#91;2&#93;&#125;&#40;\$image&#41;";
    eval&#40;$command&#41;;
    hlasi mi
    Kód:
    parse error, unexpected $ in thumb.php&#40;19&#41; &#58; eval&#40;&#41;'d code on line 1
    (line 19 je prave ta s tim 2. evalem)
    cim to je
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  7. #7

    Standardní

    2ripper: mno on ti z toho nakonec stejne vyjde nejjednodussi to udelat tim casem, uvidis

    Jednak zkus se podivat na tenhle kod za rok. Budes mu rozumet? Nebo nekdo kdo se na to mrkne po tobe, bude tomu rozumet? Myslim ze v dobe dnesnich pocitaci a kompilatoru nema smysl uvazovat nad takovouhle optimalizaci, pokud se nejedna o algoritmy silne zavisle na case (graficke 3D vypocty apod).

    Je to dokoce jedno z doporuceni techniky Extremniho programovani (XP) - moc zajimave cteni. Doporucuju precist

  8. #8

    Standardní

    Tohle je šílenost... Udělej to přes podmínky...
    -- under construction --

  9. #9

    Standardní

    tak jo, premluvili jste me, udelam to pres ten case...
    ale stejne by me zajimalo, kde jsem udelal chybu. nevite?
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  10. #10
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    298

    Standardní

    a co tak
    Kód:
    $fce = "imagenewjanevimco";
    $fce&#40;parametry, parametry....&#41;;
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  11. #11

    Standardní

    Moje doporučení:

    Kdyz pouzivas funkci eval(), tak ji nikdy nepouzivej takto:
    Kód:
    eval&#40;"\$a = $b&#40;\$c&#41;"&#41;;
    Garantuju, že vždycky uděláš chybu a budeš ji dlouho hledat. Způsob, jak si v tom udělat jasno, je tento:
    Kód:
    $p = "\$a = $b&#40;\$c&#41;";
    //echo $p
    eval&#40;$p&#41;;
    Kdyz to nepůjde, tak si povolíš příkaz echo, který ti vypíše na obrazovku, co vlastně tomu evalu předhazuješ. To, co ti vypíše na obrazovku, to přesně se snaží php vykonat. V tomto případě by ti třeba psal parse error, a to proto, že tam neni středník na konci. To, co se ti tim příkazem echo vypíše, přesně to se snaží php provést a je to, jako kdyby ten vypsanej příkaz byl v php kódu přímo napsaný.
    Action stations, action stations. Set condition one throughout the ship. This is not a drill.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •