Visualizzazione risultati 1 fino 12 di 12

Discussione: mkdir su altervista...non si può?

  1. #1
    fotovetrina non è connesso Neofita
    Data registrazione
    23-10-2010
    Messaggi
    13

    Predefinito mkdir su altervista...non si può?

    Ciao a tutti.

    In uno script php ho la funzione che dovrebbe creare una cartella per ogni utente registrato:

    mkdir()

    ma sembra non avere effetto; la cartella non viene creata.

    Non si può usare per caso mkdir sui server altervista o è un mio problema?

    Grazie
    Ultima modifica di fotovetrina : 27-10-2010 alle ore 15.28.18

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    questa funzione puoi usarla benissimo...funziona perfettamente qui su AV!

    qui creo e cancello cartelle in automatico:
    CENSURATO (sei sicuro di voler dare a tutti l'accesso senza credenziali)
    Ultima modifica di Gianluca : 27-10-2010 alle ore 15.45.08
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da EuroSalute Visualizza messaggio
    questa funzione puoi usarla benissimo...funziona perfettamente qui su AV!

    qui creo e cancello cartelle in automatico:
    CENSURATO (sei sicuro di voler dare a tutti l'accesso senza credenziali)
    Sto provando pure io ma
    a me non mi crea niente sembra e pure in locale sotto xampp funziona bene. Tu come fai scusami ?..un codice di esempio, grazie

    La creo io come ammimistratore del sito, in pratica quando abilito un utente lo script crea (almeno in locale quando ho fatto le prove) anche una cartella col suo nome.

    a proposito di credenziali mica un utente lanciando questa funzione in uno script php, e conoscendo ovviamente l'indirizzo, puo' creare anche lui cartelle senza autorizzazione?
    Ultima modifica di gianlucaweb : 27-10-2010 alle ore 18.08.14

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    guarda hanno censurato il link ad una pagina di prova, si che questa pagina è senza autorizzazioni, ma è solo una pagina che non va a fare niente di compromettente, e oltre è protetta in altro modo....

    comunque nello script che ho usato, un es.:

    definisci prima $pathimages per es: $pathimages = './images';
    Codice PHP:
    if (!$attempt) {
    //prosegui
    $pathsub = '/sub'.$sub;
    if (!
    file_exists($pathimages.$pathsub)) mkdir($pathimages.$pathsub, 0700);
    $filepath = $pathimages.$pathsub.'/';

    If (!
    $imageurl ....ecc...
    se gli utenti possano accedere allo script, bisogna vedere se lo script è protetto, oltre che da autenticazione al sito....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    gianlucaweb:

    Dovresti riportare il relativo codice che stai provando.

    a proposito di credenziali mica un utente lanciando questa funzione in uno script php, e conoscendo ovviamente l'indirizzo, puo' creare anche lui cartelle senza autorizzazione?
    Dipende da come strutturi il tuo script, se non prevede alcun tipo di autenticazione ovviamente sì.
    Gianluca

  6. #6
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da Gianluca Visualizza messaggio
    gianlucaweb:

    Dovresti riportare il relativo codice che stai provando.



    Dipende da come strutturi il tuo script, se non prevede alcun tipo di autenticazione ovviamente sì.
    La pagina con lo script (ti riferivi a questo?) è protetta, ma io mi riferivo alla funzione in se.
    In pratica un utente di altervista può lanciare questo script (sotto) dal suo spazio web che crei cartelle nel mio (o ho detto una stupidata? ) ?

    il codice è questo:


    mkdir("http://gianlucaweb.altervista.org/cart/$user" , 0700); //E' sbagliato? Cosa non va?


    Grazoie e ciao

  7. #7
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Non vedo il motivo nè il bisogno di includere il percorso completo di http://, in PHP devi usare i percorsi relativi per lavorare con i file interni al tuo sito.

  8. #8
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da javascripter Visualizza messaggio
    Non vedo il motivo nè il bisogno di includere il percorso completo di http://, in PHP devi usare i percorsi relativi per lavorare con i file interni al tuo sito.

    nel senso che così non funziona?

    La cartella di destinazione comunque si trova a un livello superiore dello script e originariamente avevo fatto una cosa del genere:

    mkdir("./../cart/$user" , 0700); //che in locale funziona.


    Adesso per prova sto cercando di crearla in una directory (images) che si trova nella stessa directory dello script così:

    Codice PHP:
    $user = "bello";
    $pathimages = '/images/'.$user;

    mkdir($pathimages, 0700);
    Le sto provando di tutte (cambiando anche / doppi apici ecc ecc) ma non mi crea niente.

    Aiutatemi per piacere. Grazie

  9. #9
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Il tutto dipende in che cartella si trova il tuo script.

    Se ad esempio si trova già nella root, puoi semplicemente usare:
    Codice PHP:
    mkdir('images/' . $user, 0700);
    Mentre si trova in cartelle e sottocartelle ( e non vuoi utilizzare i percorsi relativi per complicazioni ) puoi utilizzare il percorso assoluto che è, per altervista:
    /membri/tuonickname/ ( nel tuo caso gianlucaweb )

    Codice PHP:
    mkdir('/membri/gianlucaweb/images/' . $user, 0700);

  10. #10
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da javascripter Visualizza messaggio
    Il tutto dipende in che cartella si trova il tuo script.

    Se ad esempio si trova già nella root, puoi semplicemente usare:
    Codice PHP:
    mkdir('images/' . $user, 0700);
    Mentre si trova in cartelle e sottocartelle ( e non vuoi utilizzare i percorsi relativi per complicazioni ) puoi utilizzare il percorso assoluto che è, per altervista:
    /membri/tuonickname/ ( nel tuo caso gianlucaweb )

    Codice PHP:
    mkdir('/membri/gianlucaweb/images/' . $user, 0700);

    così adesso funziona. Ho provato uno script semplice che avviavo direttamente dal browser e va.. grazie

    ..ma ci deve essere ancora un problema nel mio script originale perchè non mi crea ancora le cartelle dell'utente:

    Così i dati che mi vengono spediti nella mia email per l'attivazione:

    Codice PHP:
    <br /><br />Per completare la registrazione <a href=\"$urlsito/add_user.php?action=confirm&auth=$row[auth]&user=$user\">clicca qui</a>
    i dati sembrano essere inviati correttamente perchè se sposto il mouse sul link vedo i dati auth e user delle variabili dalla barra di stato del browser cioè questo:

    Codice:
     http://gianlucaweb.altervista.org/devlogin//add_user.php?action=confirm&auth=b6da5abd3d0fbdc639da5f20e125&user=skywalker

    la pagina che riceve i dati è sempre add_user.php e le righe interessate sono queste:


    Codice PHP:
    // Conferma indirizzo email
    if($action == "confirm")
    {

    Db_connect();

    $auth=$_GET["auth"];
    $user=$_GET["user"];


    if (
    trim($auth) == "")
    Errore("javascript:history.go(-1)", "Errore", "Codice di autorizzazione non corretto" ,".");

    $query="UPDATE ".$tbl_prefix."user SET actived = 1 WHERE auth = '$auth'";
    $risultato = mysql_query($query) or die("<img src=\"images/button_cancel.png\"> <span class=\"Stile7\">Il codice di autorizzazione non è corretto.</span>");


    mkdir('/membri/gianlucaweb/photos/' . $user, 0700);
    mkdir('/membri/gianlucaweb/thumbnails/' . $user, 0700);

    Ok("login.php", "Conferma effettuata", "Conferma indirizzo email avvenuta con successo" ,".");
    }
    in pratica attiva l'utente cambiando il valore del db e subito dopo crea (o almeno dovrebbe..in locale però va) le 2 cartelle.
    Allora dov'è che sbaglio ancora?

    Grazie
    Ultima modifica di gianlucaweb : 28-10-2010 alle ore 15.41.41

  11. #11
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    secondo me il problema è dove risiede il file add_user.php, in pratica se questo file è in una cartella (mi sembra "devlogin") allora il path è sbagliato, sarà:

    Codice PHP:
    mkdir('../photos/' . $user, 0700);
    mkdir('../thumbnails/' . $user, 0700);

    //corrisponde a:
    //http://gianlucaweb.altervista.org/photos/$user
    //http://gianlucaweb.altervista.org/thumbnails/$user
    ti posso dare un consiglio ==> per trovare il path assoluto usa:
    Codice PHP:
    echo "<p>".str_replace("\\", "/", dirname(__file__)) . '/';
    qui ho fatto alcune prove:
    http://eurosalute.altervista.org/tool/banIP.php

    per vedere il codice:
    http://eurosalute.altervista.org/tool/banIP.html
    Ultima modifica di EuroSalute : 28-10-2010 alle ore 17.19.16 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  12. #12
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da EuroSalute Visualizza messaggio
    secondo me il problema è dove risiede il file add_user.php, in pratica se questo file è in una cartella (mi sembra "devlogin") allora il path è sbagliato, sarà:

    Codice PHP:
    mkdir('../photos/' . $user, 0700);
    mkdir('../thumbnails/' . $user, 0700);

    //corrisponde a:
    //http://gianlucaweb.altervista.org/photos/$user
    //http://gianlucaweb.altervista.org/thumbnails/$user
    ti posso dare un consiglio ==> per trovare il path assoluto usa:
    Codice PHP:
    echo "<p>".str_replace("\\", "/", dirname(__file__)) . '/';
    qui ho fatto alcune prove:
    http://eurosalute.altervista.org/tool/banIP.php

    per vedere il codice:
    http://eurosalute.altervista.org/tool/banIP.html

    il fatto curioso sai qual'è?

    Io ho lanciato questo script dalla cartella devlogin (la stessa nella quale si trova add_user.php):

    Codice PHP:

    <?php

    $user
    = "bello";

    mkdir('/membri/gianlucaweb/photos/' . $user, 0700);

    ?>
    e la cartella bello in photos è stata creata regolarmente.
    Non riesco proprio a capire.
    Cosa puoi dirmi?

    Grazie ancora per la pazienza e l'aiuto che mi stai dando, ciao.



    ......

    aspetta aspetta.
    Ho avviato adesso filezilla e le cartelle adesso ci sono. La cartella non viene creata subito o bisogna riavviare filezilla per visualizzare i cambiamenti..boh? Fatto sta che adesso è tutto ok. Grazie ancora. Ciao
    Ultima modifica di gianlucaweb : 28-10-2010 alle ore 19.24.52

Regole di scrittura

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