CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Stahl con ben 12 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: Stahl con ben 99 Thanks ricevuti negli ultimi sette giorni
Utente del mese: Stahl con ben 470 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 12
Discussione:

Trasferimento file via ftp dall'applicazione al database remoto

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Trasferimento file via ftp dall'applicazione al database remoto

    Premetto che non programmo da molto tempo.

    Devo creare un' app in cui l'utente seleziona un' immagine dalla libreria del cellulare (oppure scatta una nuova foto) che viene in seguito caricata su un database remoto.

    Per la prima parte non ho avuto problemi, mentre per il caricamento c'è qualcosa che non va

    Riesco a connettermi al server ftp, mi posiziono nella cartella dove andrò a salvare il nuovo file, ma la funzione ftp_put non viene eseguita correttamente.

    Dal codice dell'app, invio 3 dati ad una pagina php di cui vi posto il codice:

    <?php
    session_start();


    /* Connessione al server ftp */

    $ftp_host = "il mio ftp.host";

    $id_connessione = ftp_connect($ftp_host) or die("no ftp");

    /* login al server ftp */

    $username = "il mio username";

    $pwd = "la mia password";

    $login = ftp_login($id_connessione, $username, $pwd) or die("no account ftp");


    mysql_connect("localhost","","")
    //se la connessione fallisce
    or die("Errore interno. Riprovare.\n.");

    mysql_select_db("mio database")
    or die("Errore interno. Riprovare.\n");

    //questi sono i dati che mi arrivano dall'app

    $tel = $_POST['tel'];
    $type = $_POST['type'];
    $file = $_FILES['file'];

    if(isset($_POST['tel']) && isset($_POST['type']) && isset($_POST['file']) ){

    //A questo punto occorre effettuare l'effettivo upload dei file:
    $file_originale = $file;

    $file_destinazione = rand(0, 999999) . "_" . rand(0, 999999) . "_" . $tel . ".jpg";

    //Mi Sposto nella cartella in cui voglio effettuare l'upload
    $dest="";
    if($type=="img"){
    $dest = "images";
    }

    else if($type=="poe"){
    $dest = "poetry";
    }

    echo "$file_originale";

    //mi sposto nella cartella desiderata

    if (chdir('users/' .$tel . '/' .$dest))
    echo getcwd();
    else echo "Cambio cartella non riuscito";

    //FINO A QUI FUNZIONA TUTTO, MENTRE L'EFFETTIVO CARICAMENTO NON VA...

    //Upload del File
    if(ftp_put($id_connessione, $file_destinazione, $file_originale, FTP_ASCII)){
    echo "1";
    }else {
    echo "0";
    }
    //Chiudo la connessione
    ftp_close($id_connessione);


    }else { echo "0";}

    //Chiudo la connessione
    ftp_close($id_connessione);
    ?>

  2.  
  3. #2
    Androidiano VIP


    Registrato dal
    Jan 2013
    Messaggi
    1,381

    Ringraziamenti
    30
    Ringraziato 332 volte in 305 Posts
    Predefinito

    prova con FTP_BINARY e vedi che succede...

  4. #3
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Già provato, non cambia nulla
    Potrebbe essere l'indirizzo che gli passa l'app che non viene letto correttamente?
    L'indirizzo è /mnt/sdcard/nomeApp/newFoto.jpg
    Ultima modifica di lubilis; 05-07-13 alle 12:19

  5. #4
    Androidiano VIP


    Registrato dal
    Jan 2013
    Messaggi
    1,381

    Ringraziamenti
    30
    Ringraziato 332 volte in 305 Posts
    Predefinito

    fai una stampa di $file_destinazione e $file_originale e vedi che ti dice; inoltre controlla che nella cartella ftp tu abbia i permessi di accesso e scrittura

  6. #5
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    I permessi li ho tutti, le stampe danno questi risultati:

    $file_destinazione:546473_837382_3392884249.jpg
    Dove i primi due numeri da 6 cifre sono numeri casuali, mentre l'altro è il telefono

    $file_originale: In effetti qui non stampa niente. Provando a cambiare $_FILES con $_POST però mi stampa l'indirizzo /mnt/sdcard/nomeApp/newFoto.jpg ma non funziona ugualmente
    Ultima modifica di lubilis; 05-07-13 alle 12:49

  7. #6
    Androidiano VIP


    Registrato dal
    Jan 2013
    Messaggi
    1,381

    Ringraziamenti
    30
    Ringraziato 332 volte in 305 Posts
    Predefinito

    a qquesto punto farei un prova; inserisci manualmente la string del nome del file (che sai esistere) e vedi se tutto funziona...da quello che vedo dovrebbe...se funziona lavoriamo sull'altro problema

  8. #7
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Il file esiste, è una foto sul cellulare su cui eseguo l'apk, il cui path è /mnt/sdcard/nomeApp/newFoto.jpg. Anche inserendo il path manualmente in questo modo
    ftp_put($id_connessione, $file_destinazione, '/mnt/sdcard/nomeApp/newFoto.jpg', FTP_ASCII
    non funziona. Ho provato anche con FTP_BINARY, senza le virgolette oppure con le doppie virgolette ma niente da fare, alla fine mi ritorna sempre zero
    Ultima modifica di lubilis; 05-07-13 alle 16:54

  9. #8
    Androidiano VIP


    Registrato dal
    Jan 2013
    Messaggi
    1,381

    Ringraziamenti
    30
    Ringraziato 332 volte in 305 Posts
    Predefinito

    Guarda...ora non posso fare delle prove...fossi in te farei un tentativo facile facile che ti riporto qui di seguito e ho ripreso dal sito php. vedi se un qualsiasi file lo riesci ad inviare; se riesci allora implementi tutto il resto...


    <?php
    $file = 'somefile.txt';
    $remote_file = 'readme.txt';

    // set up basic connection
    $conn_id = ftp_connect($ftp_server);

    // login with username and password
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    // upload a file
    if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
    echo "successfully uploaded $file\n";
    } else {
    echo "There was a problem while uploading $file\n";
    }

    // close the connection
    ftp_close($conn_id);
    ?>

  10. #9
    Baby Droid


    Registrato dal
    Jul 2013
    Messaggi
    6

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho creato, nella cartella /mnt/sdcard/nome_app/ un file readme.txt e, per non sbagliarmi anche un file somefile.txt.

    Poi, seguendo il tuo esempio, ho impostato a $file il percorso
    'mnt/sdcard/VK/readme.txt' (oppure 'mnt/sdcard/VK/readme.txt')
    ed a $remote_file
    somefile.txt (oppure readme.txt)
    oppure il percorso esatto nel mio database..ho provato tutte le varie situazioni, ma anche così, dopo l'esecuzione mi torna zero...sto per impazzire

  11. #10
    Androidiano VIP


    Registrato dal
    Jan 2013
    Messaggi
    1,381

    Ringraziamenti
    30
    Ringraziato 332 volte in 305 Posts
    Predefinito

    dopo il login prova ad inserire

    ftp_pasv($conn,TRUE);

  12. Il seguente Utente ha ringraziato RMarcoR per il post:

    lubilis (10-07-13)

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy