Visualizzazione risultati 1 fino 12 di 12

Discussione: [PHP] Far creare all'utente delle directory

  1. #1
    Guest

    Predefinito [PHP] Far creare all'utente delle directory

    Ciao a tutti...
    vorrei far creare delle directory, esternamente dal mio pannello di controllo!
    Credo che il "comando" sia mkdir, ma so poco a riguardo...
    In pratica vorrei un form con un inputbox dove inserire il nome della cartella e poi un invio per farla creare!
    fatemi sapere!
    ...byex!

  2. #2
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    Ciao a tutti...
    vorrei far creare delle directory, esternamente dal mio pannello di controllo!
    Credo che il "comando" sia mkdir, ma so poco a riguardo...
    In pratica vorrei un form con un inputbox dove inserire il nome della cartella e poi un invio per farla creare!
    fatemi sapere!
    ...byex!
    L'hai detto:
    Codice PHP:
    <?
    $cartella
    = $_POST['cartella'];
    if(
    mkdir($cartella)) { echo "Cartella $cartella creata con successo!";}
    ?>
    Il problema si presenta se la cartella esiste già...non so se te la sovrascrive..potresti usare is_dir:
    Codice PHP:
    <?
    $cartella
    = $_POST['cartella'];
    if(!
    is_dir($cartella)) {
    if(
    mkdir($cartella)){echo "Cartella $cartella creata con successo!"; }
    }else{
    echo
    "La cartella $cartella esiste già!";
    }
    ?>
    Ultima modifica di Leo91 : 01-07-2006 alle ore 13.19.35

  3. #3
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Il problema si presenta in molte forme quando si decide di creare programmaticamente delle directory.
    Primo fra tutti ricordate che siamo sotto Safe Mode.
    Una cartella riuscirai anche a crearla con successo... una!... peccato che sotto questa cartella non potrai più creare sotto cartelle (sempre tramite mkdir) né cancellare la directory stessa che hai creato con il primo mkdir! né cancellare i files che ci hai creato dentro.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  4. #4
    Guest

    Predefinito

    'azzo, quindi il mio progetto è morto

  5. #5
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    A meno che non ti metti tu a creare strutture di directory a manina "su richiesta".. la vedo difficile... o quantomeno se la struttura è semplice, ovvero una serie di cartelle utente "piatta", senza subdirectory annidate, potresti pure cavartela (tranne nella rimozione programmatica che ti risulterebbe negata, visto che sotto safemode mkdir crea una directory il cui UID è di Apache, non dello script, questo è il problema).

    Poi se l'admin pensa che sia possibile sfuggire in qualche modo, con configurazioni particolari effettuate o da effettuare.. forse.. ma di solito è un gran problema.
    Infatti se non erro nelle prossime versioni di php il safemode verrà praticamente cestinato in quanto ingestibile.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    A meno che non ti metti tu a creare strutture di directory a manina "su richiesta".. la vedo difficile... o quantomeno se la struttura è semplice, ovvero una serie di cartelle utente "piatta", senza subdirectory annidate, potresti pure cavartela (tranne nella rimozione programmatica che ti risulterebbe negata, visto che sotto safemode mkdir crea una directory il cui UID è di Apache, non dello script, questo è il problema).

    Poi se l'admin pensa che sia possibile sfuggire in qualche modo, con configurazioni particolari effettuate o da effettuare.. forse.. ma di solito è un gran problema.
    Infatti se non erro nelle prossime versioni di php il safemode verrà praticamente cestinato in quanto ingestibile.
    però se io non faccio creare sotto-cartelle, sono a posto, no?

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    però se io non faccio creare sotto-cartelle, sono a posto, no?
    Credo di sì...

    heracleum: Sarebbe possibile aggirare il problema usando chmod?

  9. #9
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    tryphpnuke:
    Guarda io ho provato e riprovato, cercato e ricercato ma avendo necessità di creare programmaticamente strutture a più livelli di directory, alla fine l'unica -vigliacca lo so- soluzione che ho avuto è stato quello di disabilitare il safe-mode, perché in quell'hosting è possibile...
    ma qui su Av non lo è!

    L'unico msg -dal tono un po' spavaldo però- che sembra lasciare una possibilità tramite chmod è quello postato qui:
    http://it.php.net/manual/it/features...mode.php#55581
    nel manuale php.net, lasciate caricare per bene la pagina senza scrollare ché il link punta direttamente al messaggio di un certo hunter+phpnet.
    Ora, scrive poco comprensibilmente, dice che è un figo e lui non ha problemi (ma mica dice esplicitamente se riesce sotto safe mode) e la citazione del "man chmod" non è ben chiaro se è eseguibile tramite php o solo da command line. Poi guarda caso non se l'è filato nessuno...

    quindi se qualcuno sa se è possibile...
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  10. #10
    L'avatar di domenicoragusa
    domenicoragusa non è connesso Altervistiano Junior
    Data registrazione
    03-06-2005
    Messaggi
    618

    Predefinito

    Si potrebbe copiare una cartella contente un file che cancelli la cartella in cui si trova, così puoi, richiamando il file, eliminarela cartella.
    Spiego meglio, ho una cartella, la copio con il nome che mi serve. La cartella contiene solo un file, uno script che mi cancella la cartella in cui si trova. Quindi quando volgio eliminarla mi faccio un collegamento allo script e sono apposto!
    Credo che io abbaia detto una grande ca...ta, ma non si sa mai...
    ciao ciao

    P.S. grazie a te ho capito perchè non mi funziona una parte di un mio script!

  11. #11
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Diciamo che non ho proprio chiarissimo quello che intendevi
    Posso dirti però che "copiare" non è una funzione primitiva quindi per copiare qualcosa devi comunque fare una creazione di cartella (mkdir) e stai punto e da capo.
    Almeno per quel che mi immagino io..
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  12. #12
    Guest

    Predefinito

    heracleum: Grazie per le risposte! Ho capito che non ho possibilità... Comunque io (in un altro servizio di hosting, anche quello con safe-mode on) riesco benissimo a cancellare files creati in cartelle create con mkdir usando semplicemente unlink... L'unica differenza è che lì c'è PHP5, e non so se rientri nelle nuove versioni in cui "safemode verrà praticamente cestinato in quanto ingestibile" che dicevi prima...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •