• User

    Upload files con PHP

    Ciao a tutti

    Molti si scandalizzeranno per un problema così banale, ma tant'è .. :arrabbiato:

    Ho la necessità di inserire sul mio sito un paginetta per uploadare files, so che ci sono centiania di scripts appositi , anzi leggendo qualche guida penso potrei scriverne uno molto banale anch'io, ma un conto è scrivere un'altro è farlo funzionare bene.
    Ho usato uno script php "preconfezionato", ma purtroppo non ha funzionato e i files non sono stati uploadati ( il messaggio è "problema di caricamento".. si .. ma quale? 😄 ).

    Forse ho sbagliato ad inserire la "path assoluta"?
    Supponiamo che l'url dove voglio fare l'upload sia : www.miositoimmaginario.com/upload/data e la cartella principale del mio sito sul mio computer locale sia Miositoimmaginario.

    Ora quale diamine è la "path assoluta" che debbo inserire nello script PHP? 😄 , per favore fatemi un esempio con l'esatta sintassi

    Altro possibile problema (almeno penso): i permessi chmod, forse è necessario che la cartella che deve ospitare i files uploadati sul server abbia certi permessi e quindi necessiti di essere pubblicata per forza via FTP ( io uso sempre Front Page per pubblicare il sito) in modo da settare CHMOD?
    Oppure chmod può/deve essere settato nello script php?

    Insomma mi sento un po' stupido a non saper risolvere una cosa così banale, come può essere il semplice inserire un form per uploadare files sul proprio sito, ma questa è la dura realtà, allora ho pensato di chiedere aouto a chi ne sa sicuramente più di me.

    Grazie anticipatamente
    Ugo


  • User

    Un'ulteriore cortesia:

    ho visto in molti script che c'è la possibilità di ascludere alcune estensioni i di files dall'upload; io invece vorrei sapere come si fa ad "autorizzare" ad esempio uno solo tipo di file nell'upload; esempio : *.dat, oppure *.jpg ecc...

    Grazie
    Ugo


  • Super User

    La path assoluta dipende dal server dove è collocato il tuo sito...quindi devi chiederla al fornitore del tuo hosting.
    Per il chmod tramite PHP leggi qui:http://www.php.net/manual/en/function.chmod.php
    Per filtrare dei formati di files devi postarci lo script php che utilizzi in modo da poterlo adattare


  • User

    @probid said:

    La path assoluta dipende dal server dove è collocato il tuo sito...quindi devi chiederla al fornitore del tuo hosting.
    Per il chmod tramite PHP leggi qui:http://www.php.net/manual/en/function.chmod.php
    Per filtrare dei formati di files devi postarci lo script php che utilizzi in modo da poterlo adattare

    grazie mille delle risposte probid

    Ora contatterò prima di tutto il mio provider per la maledetta "path assoluta", poi risolto quello vi posto lo script .
    Anche il link al manuale chmod è utilissimo.

    Grazie e a presto
    Ugo


  • User

    Allora , siamo un pezzo avanti :fumato:

    Ho chiesto al mio provider e in attesa della e-mail di risposta ho cercato un po' da solo e ho scoperto che era sufficiente mettere questa banale riga in un file php per saperlo :

    **echo $_SERVER['DOCUMENT_ROOT']; **

    ovviamente per funzionare la pagina php contenente il comando suddetto deve essere caricata sul server.

    Diciamo che ora ho la mia path assoluta impostata così :

    /home/user/miosito.com/var/www/html

    Questo è il risultato ottenuto dal mio comando inserito nella pagina php ed è perfettamente corrispondente a quello che mi ha mandato il mio provider nella e-mail di risposta, quindi la path assoluta è questa.

    Risolti i problemi quindi? Macchè..
    L'upload deve essere fatto in una sottocartella del sito come dicevo nel mio primo post /upload/data , ora dove debbo aggiungere queste sottocartelle nella path assoluta del sito? Dopo il nome del sito (miosito.com) oppure dopo l'ultima cartella della path assoluta (html) ?

    Ho riprovado lo script di upload , ma mi da sempre errore di caricamento e file non caricato, ho provato anche ad inserire nello script la path assoluta senza le mie sotto cartelle, pensando che potesse uploadare i files nella cartella principale del sito, invece non è così..

    Dove diamine sbaglio ?? Come se ne esce fuori ( a parte rinunciare..:D ) ??

    Grazie in anticipo
    Ugo


  • Super User

    Per scrivere in una cartella devi avere impostato i parametri con chmod. Non credo che siano impostati nella root (e non credo nemmeno siano impostabili per questioni di sicurezza). Seguendo le info nel manuale, se non lo hai fatto, devi permettere allo script di scrivere nella cartella /upload/data e poi agiungere dopo html nel path /upload/data (forse devi aggiungere /alla fine)
    Spero di essere stato utile, e di non aver scritto cose che già sapevi....


  • User

    ... scusate, guardate il post successivo, per errore l'ho spedito 2 volte..

    Ugo


  • User

    Grazie Cali

    Era proprio quello il problema : tramite FTP ho cambiato il CHMOD della cartella di destinazione ( era 755 e l'ho settato a 777), ho reimmesso la corretta path come mi hai suggerito e sono riuscito a uploadare sul server un maledettisimo file 😄 .

    Ma l'odissea non finisce qui.. come utilizzare il file. Ovviamente dovrò utilizzare i files uploadati, però se accedo al server con le mie password non me li fa ne aprire ne copiare e incollare sul mio pc, questo non è possibile. Allora come bisoogna fare per utilizzare questi files? Bisogna farli leggere da un'altra pagina php e tramite la stessa pagina trasferirli da qualche altra parte o.. ?

    E un'altra cosa : qualcuno mi può fare un esempio banale con qualche riga di php su come consentire il permesso di upload ad un solo tipo di estensione di file specificato?

    Grazie ancora e scusate per l'invadenza, ma quando non si sa .. si cerca di sapere, la vostra sola colpa è.. saperne più di me :bho:

    Ugo