inserimento foto senza upload

Ciao a tutti,

ho sempre utilizzato l'upload dei file per poterli inserire in un db. (Articolo http://www.phpnews.it/content/view/213/80/ )

Se nello script php salvo il percorso della foto che voglio inserire in una variabile

$foto_uno= "http://www................./foto.jpg"

, che valori devono assumere i dati come $nome_file_temporaneo.,$nome_file_vero.........(elencati qui sotto)

che una volta riempivo con i dati del file che stavo uploadando attraveso un form di inserimento????

  $nome_file_temporaneo = $_FILES['file_inviato1']['tmp_name']; 

  $nome_file_vero = $_FILES['file_inviato1']['name']; 

  $tipo_file = $_FILES['file_inviato1']['type']; 

  $dati_file = file_get_contents($nome_file_temporaneo);

Cosa devo mettere al posto di $_FILES['file_inviato1']['tmp_name'] ?

:o

:bye:

inviato 10 anni fa
stellina
X 0 X

I file sono quindi gi sul server?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Sono in un server diverso da quello che ospita il mio sito.

Ho l'indirizzo completo delle foto che si trovano nell'altro server e devo fare in modo di inserile nel mio db in maniera "automatica" senza fare l'upload tramite form.

:bye:

risposto 10 anni fa
stellina
X 0 X

Se nel php.ini la direttiva allow_url_fopen impostata a true allora puoi usare direttamente la funzione file_get_contents:

$dati_file = file_get_contents(urlencode("http://www.example.com/foto.jpg"));

:bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

allow_url_fopen impostata a on :)

se uso file_get_contents come faccio a ricavarmi il nome e il tipo per poter fare l'insert??

:bye:

risposto 10 anni fa
stellina
X 0 X

Se sai l'URl sai anche il nome del file... ??? Idem dicasi per il tipo di file, basta guardare l'estensione...

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

si,hai ragione sono stata troppo inpulsiva e ho fatto una domanda banale...me ne sono resa conto subito dopo...scusa....

La funzione file_get_contents mi da errore se il percorso del file insetrito in una variabile.

$dati_file1 = file_get_contents(urlencode($foto_uno));

Warning: file_get_contents(http%3A%2F%2Fwww.altrosito.it%2F00010017N01.jpg): failed to open stream: No such file or directory in /var/www/....

praticamente non trova il file nel percorso perch gli "/" ecc. sono stati sotituiti da %2F con la funzione urlencode

Se tolgo la funzione urlencode mi da ugualmente errore perch trova alla fine del percorso 3 spazi vuoti. se li tolgo con trim o con explode mi da sempre errore

ufff non so che fare

cosa devo usare perch la funzione file_get_contents non mi dia errori???

risposto 10 anni fa
stellina
modificato 10 anni fa
X 0 X

Si, l'url_encode deve essere usato solo sul nome del file e non sull'intero URL:

$nome_file = 'mio file.jpg';

$url = 'http://www.tuosito.it/cartella/' . url_encode($nome_file);

$dati_file1 = file_get_contents($url);

:bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

non ci capisco pu niente :idiot:

>:(

$path_parts = pathinfo($foto_uno);

$dirname = $path_parts['dirname'];

$basename = $path_parts['basename'];

$url = $dirname. '/' . urlencode($basename);

$dati_file1 = file_get_contents($url);

L'errore

Warning: file_get_contents(http://www.altrosito.it/immagini/1/10005N25.JPG+++): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

Se faccio cos

$url = $dirname. '/' . $basename;

$dati_file1 = file_get_contents($url);

l'errore

Errore : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'st0&+^-~8>ſ`z2'/}g<'

:-\

:bye:

risposto 10 anni fa
stellina
X 0 X

Come ricavi il contenuto di $foto_uno? Come mai alla fine ci sono degli spazi?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Li ricavo tramite

$foto_uno=substr($stringa, 868, 60);

il fatto che i 60 caratteri potrebbero essere tutti occupati da lettere oppure come in questo casa contenere degli spazi finali.

:-[

risposto 10 anni fa
stellina
X 0 X

usa $stringa_senza_spazi = trim($stringa);

:bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

niente da fare mi da sempre quell'errore con tutti quei caratteri strani :'(

$stringa_senza_spazi = trim($basename);

$url = $dirname. '/' . urlencode($stringa_senza_spazi);

$dati_file1 = file_get_contents($url);
risposto 10 anni fa
stellina
X 0 X

Appena prima di file_get_contents lancia un echo $url. Cosa viene mostrato? Ci sono errori nell'URL?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

mi mostra tutto il percorso del file senza errori.

risposto 10 anni fa
stellina
X 0 X

Che errore ricevi?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Errore : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'st0&+^-~8>ſ`z2'/}g<' at line 4

//la linea quattro ha solo la stringa di connessione al db

risposto 10 anni fa
stellina
X 0 X

La linea 4 si riferisce alla stringa che compone la query, non allo script. Questo significa che c' un errore nella query, all'interno dei dati che costituiscono l'immagine. Hai fatto l'addslashes di $dati_file1?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

l'inserimento non funzionava su una foto, ma sulle altre si.

Al momento della visualizzazione della foto mi comare un messaggio di windows che mi chiede se voglio salvare il file.php (quello che utilizzo per visualizzare le immagini)

Per le foto che avevo inserito in precedenza con il metodo classico di upload dei file la visualizzazione dei file sempre stata ok.

come mai mi da questa finestra strana solo quando tento di visualizzare i file appena inseriti???

:bye:

risposto 10 anni fa
stellina
X 0 X

Se il browser ti chiede di scaricare un file perch non sa come visualizzarlo. Hai inviato l'header relativo al tipo MIME della foto?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

si solo che avevo scritto image/jpg invece di image/pjpeg e cambiando si vede l'immagine

O0

;)

:bye:

risposto 10 anni fa
stellina
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda