Automatikus mappa létrehozás regisztrációkor...
2021-04-29T09:27:52+02:00
2021-04-29T16:24:59+02:00
2022-07-20T10:31:49+02:00
  • Szia, 

    1, igen, ezt megtaláltam, még számomra is érthető a leírás, meg is lepődtem, hogy valóban szinte 0 php ismeret nélkül is érthető a php dokumentációja, és az mkdir-el létre is tudom hozni a mappát.

    Arra nem találtam az én csekély képességeimmel is kivitelezhető megoldást, hogy amikor létrejön a mappa, akkor belekerüljenek a fájlok. 1-1 fájl kezelését-bemásolását a copy-val megoldom, de ugye egyszerre több fájlt (mappaszerkezetben) kellene betenni és ez nem sikerült, hogy egy meghatározott mappa teljes tartalmát bemásoljam, vagy ami a legjobb lenne egy megadott tömörített állományt kibontva a tartalmát bemásoljam, AKKOR, amikor létrejön a mappa a felhasználónév alapján regisztrációkor, vagy akár a felhasználó első belépésekor, eseményhez kötve.

    2, a mappák egyedisége adott, lévén egyedi felhasználóneveket fogad el a  regisztráció, ha már létezik, azt ugye nem engedi, ahogyan ugyanazon email címmel sem. :) Gondolom itt is így működik ez :)

    A hozzáférést a mappához a bemásolandó állomány kezeli. (session kezeléssel) A belépéshez használt felhasználónév/jelszó páros csak a felhasználónévvel egyező mappa tartalmához enged hozzáférést a felhasználónak.
    A képek/videók átneveződnek felhasználónév + mktime + random karaktersor, így a filenév ismerete nélkül kintről meghívni nem sok esély van, hogy sikerül, erre gondoltam.


    3, nem csak egy űrlap kerül a mappába, hanem ebbe a mappába tölt fel képeket, videókat, amiket kiértékelünk és ennek az értékelésnek is van egy galéria felülete, ahol az adott, általa feltöltött videóhoz, képhez kapott kiértékelést elolvashatja, miután a kiértékelés megtörtént. 

    Igazából minden bizonnyal lehetne dinamikusan generálni minden tartalmat, lehetne egyetlen form, mehetnének a feltöltött képek/videók egyetlen mappába és majd adatbázissal lekérdezve megjelenítve melyik melyik felhasználóhoz tartozik, dinamikusan listázni, adminisztrációs felületen kezelni az egészet  de az én képességeimmel ez volt az amit meg tudtam oldani és számunkra ez a legegyszerűbb, hogy a mappa/felhasználónév egyezése alapján le tudjuk tölteni a webes ftp felületen az éppen kiértékelésre szánt anyagot :)
    Mutasd a teljes hozzászólást!
  • 1. Alapvetően erre van szükséged: PHP: Filesystem Functions - Manual ebből is a mkdir, meg a többi mappa és fájlkezelő függvény.
    2. Többen is mondták, hogy ez azért felvet néhány biztonsági és működésbeli problémát: mappák egyedisége, mappák elérhetősége, jogosultságok stb.
    3. Én magát az alapvetést nem értem: valaki regisztrál és a regisztrációja alapján kap egy személyre szabott online űrlapot? De miért kéne ezt mappaszinten létrehozni és menedzselni, miért nem generálhatja ki az egészet a php?
    Mutasd a teljes hozzászólást!
  • Szia, köszönöm a rávilágítást a buktatókra, megpróbálok érdemben válaszolni a felvetett probléma lehetőségekre.

    - Az elérhetőség miatt fontos a megjegyezhető url a felhasználó szempontjából Bár nem fejtettem ki a regisztrációnál ha létezik a név, akkor nem tud regelni, módosítania kell a néven, pl számot hozzátenni, vagy becenevezni, stb.

    - Tudományos projekt kiértékeléshez készül, pár száz felhasználónál többre nem számítok a teszt kitöltéshez, lévén elve csak 680  felhasználó lesz a kiértékeléshez meghívva, akiknek a tippem szerint fele sem fog érdemben/tevékenyen reagálni.

    A név alapú elérhetőség azért szükséges, mert az aktiváló levélben ez az elérhetőség lesz benne ahol be tud lépni, - és ezt meg is tudja jegyezni majd - egyrészt az űrlap kitöltéséhez és a fájlok (kép, video) feltöltéséhez, másrészt a feltöltött anyagok általunk (kutatók) ki lesznek értékelve és ugyanezen url-t elérve és belépve tudják megtekinteni a kiértékeléseket és esetleges instrukciókat.

    (ez a rész már készen van, hosszú és gyötrelmes szemkifolyatós kutatás /itt a prog.hu-n és mindenféle oldalakon/ után voltaképpen nulla programozási ismeretek után.

    Igazából mkdir-el azt is megoldottam, hogy amikor regisztrál valaki akkor létrejöjjön neki a mappa a megfelelő néven, csak azon gondolkoztunk, hogy jó lenne nem minden mappába manuálisan bemásolgatni a szükséges fájlokat, hanem amikor a mappa létrejön, akkor automatikusan kerüljenek bele... és itt akadtam el, nem találtam erre a részre általam is érthető/kivitelezhető megoldást, mintát/példát.

    Ezért gondoltam, hogy megkérdezem, nem-e valaki tud ilyen komplett scriptről/rendszerről amit alkalmazhatnék, ha már megcsinálni nem tudom (létrehozza a mappát és belemásolja a megadott tartalmat) mert szinte teljesen biztos vagyok benne, hogy létezik ilyen, csak én vagyok bamba a megtalálásához, lévén a mikrobiológia és a genetikai kémia területével számottevően többet foglalkoztam mint informatikai fejlesztésekkel. (utóbbival csak saját kútfőből, kényszerből)
    Mutasd a teljes hozzászólást!
  • Nem vagyok benne biztos, hogy az, hogy a mappa neve a felhasználó neve legyen, szerencsés választás. Csak akkor mennék így, ha a felhasználó olyan URL-eket kap, amivel közvetlenül érheti el a fájljait, tehát ha fontos a látszat. A következő problémákra kell odafigyelni:
    - olyan mappanevet kell előállítanod, amit az adott operációs rendszer fájlrendszere megeszik
    - hogyan oldod fel azt, ha van három felhasználói fiók Kiss István névvel?
    - mennyire rontja a teljesítményt az, ha a fájlrendszerben ugyanazon a szinten rengeteg mappa (tízmilliós nagyságrend) létezik? (sok regisztrált felhasználó) - lehet, érdemesebb valami alapján almappákba szervezni ezeket a könyvtárakat

    Szívem szerint a fájlkezelés problémáját rábíznám egy CDN rendszerre, vagy valamilyen skálázható fájlkezelőre, pl. a MinIO-ra. Egyrészt azzal, hogy a fájlokat kérő request-ek is ugyanarra a webszerverre érkeznek be, ami az alkalmazásodat futtatják, az alkalmazásod gyengébb teljesítményt produkálhat. Másrészt nem neked kell foglalkozni ezzel az egésszel.
    Mutasd a teljes hozzászólást!
  • Hali!

    ez számomra konkrét megoldandó problémának tűnt inkább…

    Akkor lenne konkrét – és ami fontos: programozási/szoftverfejlesztési – probléma (és így a helye a Tudástárban), ha kb. ilyesmi lett volna a felvetés: „Sziasztok! Ilyen-és-olyan rendszeren dolgozom PHP-ben. Akadt egy ilyen-és-olyan problémám, ennél-és-annál a résznél (a forráskódot csatoltam, a konkrét részt beillesztettem), ilyen-és-olyan hibát jelez (a hibaüzenetet mellékeltem). Ezzel-és-azzal próbálkoztam eddig, de nem vezetett eredményre. Tudnátok segíteni? Köszönöm.”
    A te problémád ezzel szemben az, hogy egy komplett kész rendszerre kérsz/vársz javaslatokat, ajánlásokat – azaz, a problémád nem programozási, hanem keresési.

    Remélem, látod a különbséget.

    Mutasd a teljes hozzászólást!
  • ... ez számomra konkrét megoldandó problémának tűnt inkább - valószínűleg a szubjektiv megítélésem miatt - totóztam is rajta, hol kérdezzek :)



    Köszönöm a korrigálást!
    Mutasd a teljes hozzászólást!
  • Hali!

    Próbáld meg felismerni (illő lenne), hogy mi a különbség a Tudástár (konkrét kérdések, megoldandó problémák színtere – ahol tévesen nyitottad ezt a témát) és a Társalgó (kötetlen beszélgetések, ötletelések, eszmecserék, viták, vélemény-, javaslat- és ajánlatkérések helyszíne – ahol nyitnod kellett volna ezt a témát és ahova most áthelyeztem) között, és a jövőben új téma nyitásánál alkalmazd is ezt az ismeretet. Köszönöm.

    Mutasd a teljes hozzászólást!
  • Sziasztok,

    A következőt szeretném megvalósítani:

    Azt szeretném, hogy amikor beregisztrál valaki az oldalra, a regisztrációkor megadott néven (pl.:Szabó Károly) létrejöjjön a tárhelyen egy mappa (szabokaroly néven) amibe automatikusan bemásolódik egy becsomagolt állományból annak tartalma - vagy egy másik, előre megadott mappa tartalma.
    (A csomagolt állomány egy online kitölthető űrlapot és pár php fájlt tartalmaz, amelyek az űrlapban feltöltött képeket kezeli. Ez megvan, voltaképpen regisztrációs felület is van, az automatikus mappalétrehozás és a fájlok bemásolása bele ami nincs.)

    Tudtok ajánlani erre valami kész, testre szabható "gyári" megoldást, vagy hogyan keressek rá a megoldásra?

    /cak kicit érteni php nyelv, lassan és tagoltam kérem írni, ha rávezetős, "nézd meg és alkalmazd a példát" megoldást javasoltok :) /

    Köszönöm előre is a segítséget.
    Mutasd a teljes hozzászólást!
Címkék
abcd