Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Directory per l'upload di immagini

    Ciao a tutti!
    Ho realizzato uno script per l'upload delle immagini seguendo questo link

    http://www.php.net/manual/en/features.file-upload.php

    però non capisco se c'è un modo per specificare la directory di upload.
    Mi spiego meglio: se ho il sito su un servizio di hosting, a quanto ho letto, l'upload delle foto dipede dal server, ma io non so se ho "l'autorità" per decidere la directory di upload.
    Come faccio?
    A me basterebbe semplicemente specificare lo spazio interno al mio spazio disponibile.

    Grazie!

  2. #2
    Allora.
    Ogni hosting ha le proprie peculiarità.

    Di solito, se sei su server Linux non devi fare altro che andare con un client FTP in remoto e gestire le credenziali di accesso alle cartelle.
    Per capirci, ti puoi creare una cartella immagini nella root del tuo sito e rendere scrivibile solo quella cartella, con una apposita feature che hanno di solito i client FTP.

    Se sei in ambiente Windows, invece, solitamente, la cartella con i permessi di scrittura è solo una e ben segnalata nel sito del tuo fornitore di hosting.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Comprendo.
    Ma come specifico nell oscript, la cartella da utilizzare?
    C'è uan variabile globale che tiene la cartella corrente per caso?

  4. #4

    cartella da utilizzare per l'upload

    proprio oggi ho fatto un elaborazione dello steso script!

    per definire la cartella di upload devi soltanto modificare

    <?php
    // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
    // of $_FILES.

    $uploaddir = '/var/www/uploads/'; <<<<<<====QUESTO
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    basta che la modifichi ad esempio in $uploaddir = /immagini/
    ed è fatta
    per quanto riguarda il hosting penso che non dovresti avere problemi a fare il chmod in 775 alla cartella se sei sotto linux altrimenti segui quello che ti ha detto ALCIO74 o al massimo chiedi ai hoster se sei sotto windows


    ""C'è uan variabile globale che tiene la cartella corrente per caso?""
    cartella corrente? ma allora che problemi ci sono? se sei riuscito a uppare il file .php che problemi hai a caricare le immagini nessa stessa cartella basta che la indichi nello script ed è fatta.
    Siamo soli, i geni sono tutti morti, ci hanno abbandonato alla nostra mediocrità.

  5. #5
    Devo provare perché mettendo solo "/" come path, mi mette l'immagine in "C:\" nel caso di windows.

  6. #6
    basta che la modifichi ad esempio in $uploaddir = /immagini/
    E' proprio questo il problema.
    Se metto $uploaddir = /immagini/, lui và in cerca di C:\immagini.




    P.S. sto usando EasyPHP.
    cartella corrente? ma allora che problemi ci sono? se sei riuscito a uppare il file .php che problemi hai a caricare le immagini nessa stessa cartella basta che la indichi nello script ed è fatta.
    Si ma non posso sapere a priori come sarà fatto il server di destinazione del sito, quindi per quello chiedevo se c'era uan variabile globale di PHP che tenesse un riferimento alla cartella corrente!

  7. #7
    Allora.... calma!

    Una variabile globale in PHP non è un valore di default che sta nell'interprete.
    Una variabile globale è una variabile di uno script, che può essere utilizzata all'interno sia all'esterno di una funzione e/o una classe.
    Per intenderci, se usi una variabile in uno script, e non la dichiari come globale, quella stessa variabile sarà nulla all'interno di una funzione.... e viceversa.

    Questo non c'entra nulla con la tua domanda, ma ho preferito puntalizzare perché altrimenti non capisci un concetto fondamentale nello sviluppo di applicazioni in PHP.

    Passiamo alla tua domanda.
    Si ma non posso sapere a priori come sarà fatto il server di destinazione del sito
    Nel tuo ambiente di sviluppo, avrai sicuramente una cartella all'interno della quale salvi i tuoi script.
    Non escludo, se sei un minimo ordinato, che applicazioni diverse saranno contenute in directory diverse, per una più facile lettura della cartella stessa.
    Suppongo che la directory in cui salvi i tuoi script, la DOCUMENT ROOT che hai dichiarato nel php.ini, sia qualcosa del tipo: C:\easyphp\www.

    Nel tuo script di upload, includi una pagina di configurazione scritta in php, composta più o meno come segue:
    Codice PHP:
    <?php
    $cartella_upload 
    "C:/easyphp/www/sitoxyz/upload";
    $cartella_immagini $cartella_upload."/img";
    /*
    ... e chi più ne ha più ne metta
    qui puoi anche mettere le password di accesso al DB
    Altri percorsi assoluti di altre cartelle
    insomma, tutte le costanti che non vuoi ripetere 
    all'interno dei tuoi script
    */
    ?>
    Questo file lo salvi nella root (o altra cartella) e lo richiami con un include() in ogni pagina della tua applicazione.

    Nel tuo esempio specifico, userai un file di configurazione per il tuo ambiente di sviluppo in locale, ed uno in remoto con tutte le variabili dettate dall'hoster.
    Qui sta il punto.

    Quando sottoscrivi uno spazio in hosting, l'hoster di solito invia una email con tutti i parametri e le modalità di utilizzo relative al tuo piano di hosting, nonché le password di accesso al DB mysql nel caso ne hai uno.
    Nel esempio che ho usato io sopra, noterai che tra i due file (quello remoto e quello in locale) non dovrai fare altro che cambiare l'indirizzo di destinazione della cartella con i permessi di scrittura per far funzionare "magicamente" tutto!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.