Visualizzazione risultati 1 fino 16 di 16

Discussione: BuonSamaritano. Codice per abilitare cartella ad Upload immagini da POST/PUT

  1. #1
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Angry BuonSamaritano. Codice per abilitare cartella ad Upload immagini da POST/PUT

    Scusate, sono alle prime armi, e sono tre gg che mi leggo tutti i forum, le discussioni ed i manuali. Purtroppo sono un po contadinotto e faccio fatica per cui chiedo Scusa al buon samaritano che mi aiuta.

    Che codice devo scrivere sul file htaccess per abilitare una cartella che ho creato su Altervista a ricevere le immagini scaricate da una APP che ho fatto che usa POST o PUT. In pratica mi ritorna un messaggio del tipo che la cartella è solo abilitata ad essere letta.
    Oppure il file htaccess si scrive in PHP5 e non direttamente sul htaccess (e poi vedo che lo converte), ma usa forse un linguaggio diverso.

    Se cortesemente è possibile avere le istruzione che posso semplicemente incollarle sul file htaccess e posso veder girare qualcosa.

    Vi chiedo ancora scusa se non ho sbagliato a fare la domanda.
    Grazie mille in anticipo.

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Il file htaccess serve solo a modificare alcune impostazioni del server. I caricamenti dei file devono essere gestiti da uno script PHP.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Se non ricordo male, su altervista non devi modificare nulla nell' htaccess. Devi soltanto inviare una richiesta POST ad una pagina PHP, fatta circa in questo modo (abbastanza standard: lo trovi anche nella documentazione ufficiale PHP):

    http://forum.it.altervista.org/php-m...pload-php.html
    http://forum.it.altervista.org/how/5...-di-files.html


    L' .htaccess può servire soltanto per impostare la massima dimensione del file da caricare.

    Ciao!

    EDIT: ops, anticipato. Lascio per gli esempi.
    Ultima modifica di alemoppo : 11-03-2014 alle ore 16.40.07

  4. #4
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Il file htaccess serve solo a modificare alcune impostazioni del server. I caricamenti dei file devono essere gestiti da uno script PHP.
    Grazie per l'aiuto. Scusami ancora se ti richiedo.

    Cioe devo scrivere lo script dentro il file htaccess?
    O devo creare un file con estensione .php con il codice scritto dentro e caricato nella mia directory.

  5. #5
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Grazie mille per la risposta.
    Provo subito.
    In pratica se ho capito bene, devo scrivere dentro lo spazio che altervista mi da a disposizione nel file htaccess lo script che mi hai fatto vedere, e sostituire quella directori con 1M per lo spazio del file scritto fra le virgolette '1M', e lo stesso per la directori.
    Grazie ancora

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Citazione Originalmente inviato da riverosse Visualizza messaggio
    In pratica se ho capito bene, devo scrivere dentro lo spazio che altervista mi da a disposizione nel file htaccess lo script che mi hai fatto vedere
    Lo script PHP va dentro un file con estensione "php". Nell'htaccess puoi impostare il valore massimo dei file in upload, ma per ora puoi provare senza toccare il .htaccess con file di dimensioni piccole.

    Dimenticavo: nel pannello di controllo puoi modificare la massima dimensione senza nemmeno toccare l'htaccess (lo fa lui in automatico per te).

    Ciao!
    Ultima modifica di alemoppo : 11-03-2014 alle ore 19.02.10

  7. #7
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Grazie Saintander & Alemoppo
    Grazie a quello che mi avete detto sono riuscito a creare una pagina HTML con cui faccio un POST di una immagine su una cartella creata dentro il sito Altervista. Questo funziona :-)

    Uso lo stesso codice per la APP che ho fatto con APPINVENTOR, e mando con il metodo POST il file da caricare,... ma :-( questo non funziona.
    La domanda é
    Esiste un qualcosa con cui posso vedere il flusso di dati che il POST della APP sta passando al sito Altervista per capire come questo APPINVENTOR sta mandando i dati.
    Ho letto e provato ad usare questo:
    $abcde = fopen('php://stdin', 'r');
    echo $abcde;
    ma questo non restituisce niente

    Oppure questo altro:
    $xxxx = fopen('php://input', 'r');
    echo $xxxx;
    ma mi restituisce:
    Resource id#3
    che non capisco che ciofeca vuole dire.


    Scusate ma non capisco ancora bene come si deve usare esto forum :-(
    Vi ringrazio di cuore per lo tempo dedicatomi

    Un saluto sportivo

  8. #8
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    riverosse devi creare (o scaricare) uno script php che riceva via POST l'immagine da caricare e a questo punto sarà PHP a caricare l'immagine nel tuo spazio e non l'app. L'app in di per se invierà semplicemente a PHP via POST il file da caricare.

    L'url non sarà php:// ma http://tuosito.altervista.org/nome_script_upload.php
    Apprezzi l'aiuto? Offrimi un caffè!

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Citazione Originalmente inviato da riverosse Visualizza messaggio
    ma mi restituisce:
    Resource id#3
    che non capisco che ciofeca vuole dire.
    la fopen() restituisce un resource id. Per ricavare quel che leggi, dovresti usare la fgets() o le simili, anche se non capisco cosa stai tentando di fare: i dati ricavati puoi vederli da $_POST.

    Se la pagina PHP funziona con un form html, deve funzionare anche con una richiesta dell'app. Quindi il problema è nell'applicazione e non nel form.
    http://stackoverflow.com/questions/2...sing-http-post
    http://stackoverflow.com/questions/3...erver-side-php
    ...e altri

    Ciao!
    Ultima modifica di alemoppo : 18-03-2014 alle ore 18.54.47

  10. #10
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Arigrazie Miky92 & Saintander e sopratutto Alemoppo
    Vi ringrazio ragazzi, senza di voi non ce l'avrei mai fatta.
    Ci sono riuscito
    RIporto qui quello che ho fatto nel caso possa servire a qualcuno. Spero sia chiaro nelle spiegazioni e di non dire troppe eresie

    1) Su APPINVENTOR2, ce il blocco che gestisce i POST ed i GET e si chiama WEB1. Questo oggetto richiede un URL a cui spedire il POST. Questo URL è un testo con l'indirizzo ed il nome del file .php che su Altervista si occupa poi di instradare il file ricevuto.
    In questo url va specificato l'indirizzo della cartella sul server Altervista a cui vengono spedite le immagini per fare l'upload. In questo URL (che è un testo) va aggiunto dopo l'indirizzo anche il testo
    ?NomeDelMioFile=NomeEsempio.jpg
    NomeEsempio è il nome del file immagine che voglio caricare. NomeDelMioFile è il nome della variabile che viene letta sul file php fatto sul server.
    Per cui sarà una cosa del tipo
    http://MioSito.altervista.org/Cartel...omeEsempio.jpg

    2) Il file php a cui viene spedito il metodo POST dalla APP fatta con APPINVENTOR è questo:
    Codice PHP:
    <?php
    //phpinfo();

    $data = file_get_contents('php://input');
    if (!(
    file_put_contents($_GET['NomeDelMioFile'],$data) === FALSE))
    echo
    "File xfer completed.";
    // file could be empty, though
    else echo "File xfer failed.";
    ?>
    Grazie ancora di cuore
    un saluto sportivo
    Ultima modifica di alemoppo : 20-03-2014 alle ore 15.39.49 Motivo: +tag [php]

  11. #11
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Codice PHP:
    <?php
    //phpinfo();

    $data = file_get_contents('php://input');
    if (!(
    file_put_contents($_GET['NomeDelMioFile'],$data) === FALSE))
    echo
    "File xfer completed.";
    // file could be empty, though
    else echo "File xfer failed.";
    ?>
    Attenzione a quel codice, che potrebbe essere sfruttato da un malintenzionato. Ad esempio: se uno inviasse un file "elimina.php" che contiene il codice per eliminare l'intero sito?

    Ciao!

  12. #12
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Grazia Alemoppo

    Bhe.. sarebbe proprio cativo cativo a farmi questo :-) di solito ho fiducia delle persone per cui le mie protezioni sono a base di aglio e sortilegi vari imparati :-) in Africa.

    Scherzi a parte .....cosa mi consigli di fare per evitarlo?

    grazie ancora

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Penso che sia sufficiente modificare il file appena uploadato tramite chmod rendendolo "non eseguibile".

    Ciao!

  14. #14
    riverosse non è connesso Neofita
    Data registrazione
    20-12-2013
    Messaggi
    9

    Predefinito

    Grazie mille Alemoppo.

    Ci provo subito.

    Grazie ancora

    un saluto sportivo
    :-)

  15. #15
    Guest

    Predefinito

    Ragazzi anche a me funziona riesco a fare up load del file.
    Però succede che riesco a fare anche il download del file lo modifico rifaccio up load controllo che sia quello nuovo ma al secondo download mi ripropone sempre la prima versione. Posso modificarlo 100 volte posso cancellarlo anche dallo spazio web ma riesco sempre a scaricare la prima versione !
    Aiuto
    Ser

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Hai già una discussione qui sul problema: http://forum.it.altervista.org/php-m...-file-php.html

    Ciao!

Tags for this Thread

Regole di scrittura

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