Zavrieť

Porady

Ako vytvoriť sériu adresárov s PHP?

Ahojte,

s PHP sa bavkam, niecomu uz trochu rozumiem, ale neviem sa dopatrat, ako otvorit viac adresarov naraz. Tieto adresare musia byt ale jeden v druhom a ak neexistuju, tak sa vytvoria...(viď príklad):

zadam nazvy adresarov a tie exportujem cez veliciny napr $nieco, $esteNieco, $esteEsteNieco, $uzRadsejNic...

Ako napisat do scriptu aby som vytvoril v adresari na serveri v tej hierarchii adresare?

Poznam mkdir ("$nieco", 0700), ale tento otvori tak adresar s nazvom premennej $nieco. Viac sa somnou nechce bavit a uz som a neviem sa pohnut... hmm

Vie mi niekto poradiť?

Dakujem velmi moc.
Pravidlá a tipy
  • Každý móže napísať len 1 odpoveď. Neskor mozete svoju odpoveď vylepšiť.
  • Odpoveď má priniesť riešenie na otázku, vyvarujte sa hodnotenia otázky.
  • Odpoveď má byť viac o faktoch ako o názoroch.
Dalšie pravidla a tipy
    Ak potrebujete v otázke niečo upresniť, najskôr sa spýtajte na podrobnosti.
    Koncept slúži na uloženie rozpracovanej odpovede, koncept sa zobrazuje len Vám, až kým ho nezverejníte.
    Ak máte podobnú otázku, založte Novú otázku alebo Súvisiacu otázku.
    ❤ Buďte priateľskí ❤
    Sme súčasťou jednej komunity, ktorá si chce vzájomne pomáhať, rozdieľnosť je vítaná ak neubližuje!
    Usporiadať podľa času

    luigi72 je offline (nepripojený) luigi72

    luigi72
    Prepac, ale nechapem celkom tvoju otazku.

    Mohol by si trochu obsirnejsie popisat problem? Napriklad uviest dajaky konkretny alebo vymysleny priklad...

    ludo_centrum je offline (nepripojený) ludo_centrum

    ludo_centrum
    luigi72 Pozri príspevok
    Prepac, ale nechapem celkom tvoju otazku.

    Mohol by si trochu obsirnejsie popisat problem? Napriklad uviest dajaky konkretny alebo vymysleny priklad...
    Takze cca takto.
    treba urobit adresarovy kmen na zaklade nejakych vstupnych dat, cize nazvov buducich adresarov. Cize:
    $nieco1=POST_['ExportovanaPremenna1'];
    $nieco2=POST_['ExportovanaPremenna2'];
    $nieco3=POST_['ExportovanaPremenna3'];

    //teraz chcem vytvorit adresarovy strom kotry by mal dat na vystupe nieco taketo: "nieco1/nieco2/nieco3/" a tu zatym chcem vlozit novy textovy subor.
    Tie adresare este neexistuju a potrebujem ich takto jednym vrzom zalozit a hned do posledneho vlozit subor s nejakymi hodnotami...

    funkcia:
    mkdir ("string", cislo) mi otvori len napriklad "nieco1/" a to je vsetko.

    Neviem ako s tym pohnut.

    Uz som to lepsie napisal?

    mlaco je offline (nepripojený) mlaco

    mlaco
    pouzijes funkciu mkdir:
    $dir1 = 'adrear';
    $dir2 = 'podadresar';
    mkdir('./'.$dir1);
    mkdir('./'.$dir1.'/'.$dir2);

    Problem nastane, ak na serveri mas zapnuty SAFE_MODE a samotny skript je ulozeny pod inym uzivatelom ako pod ktorym bezi web server (bezne "apache"). Vysledkom bude ze $dir2 nevytvoris, lebo $dir1 patri uz inemu uzivatelovi (bezne "apache") ako ktoremu patri skript.
    Riesenia:
    1) skriptu nastavis takeho uzivatela pod ktorym bezi web server (toto moze byt problem, ak nie si administratorom servera, zaroven je to nebezpecne riesenie)
    2) pouzijes systemovy prikaz na vytvorenie adresara (toto moze byt problem, ak nie si administratorom servera)
    2b) pouzijes systemovy prikaz na zmenu vlastnika adresara (toto moze byt problem, ak nie si administratorom servera)
    3) vypnes SAFE_MODE pre adresar v ktorom bezi skript (toto moze byt problem, ak nie si administratorom servera, zaroven je to nebezpecne riesenie)
    4) pouzijes v php skripte FTP funkcie, aby adresar vytvoril FTP uzivatel.

    Wotan je offline (nepripojený) Wotan

    Wotan
    to je uplna zbytocnost. Naco vytvarat pomocou scriptu adresare a podadresare? Pouzi mod_rewrite a potom vlastne podhodis URL adresu v hocijakej forme. Nevidim zmysel vytvarat taketo podadresare...

    ludo_centrum je offline (nepripojený) ludo_centrum

    ludo_centrum
    diky moc,
    presne takto som si to sam urobil.
    Postpne vytvaram adresare a potom vkladam subory do nich priebezne podla potreby...

    Aj tak diky moc.

    ludo_centrum je offline (nepripojený) ludo_centrum

    ludo_centrum
    Jasne, vyriesil som to veeelmi podobne.

    najskor zapisem premenne ako pises aj ty, potom vsak zapis novych adresarov som napisal jednoducho takto a funguje to

    mkdir ("$dir1", 0777);
    mkdir ("$dir1/dir2", 0777);
    atd...

    a ono to funguje .

    Tesim sa, lebo PHP vobec nepoznam a tak skusam pokus / omyl a zistujem co je naco vhodne a ako to funguje :-)

    Dakujem aj tak...

    Ako vytvoriť sériu adresárov s PHP?

    Porady, ktoré by vás mohli zaujímať

    Prihláste sa a sledujte len tie Porady, ktoré Vás zaujímajú.