2015-06-01 4 views
8

In precedenza, quando ho provato a caricare l'immagine nel database, l'immagine non viene visualizzata. Quando controllo il percorso nel db e nella cartella, è corretto.L'immagine non può essere visualizzata dopo il caricamento

Percorso corretto in db e cartella. enter image description here

enter image description here

E poi quando ho provato a visualizzare l'immagine che è stata caricata si dice che non ho il permesso per vederlo.

enter image description here

Ho anche provato caricato estensione foto diversa e diversa applicazione visualizzatore di foto e ancora non riesco a visualizzare l'immagine. A parte questo, ho provato W3School PHP5 File Upload. Ancora una volta succede la stessa cosa, non riesco a vedere la mia immagine.

Questo è il mio codice:

if (!isset($_FILES['image']['tmp_name'])) 
{ 
    echo ""; 
} 
else 
{ 
    $file=$_FILES['image']['tmp_name']; 
    $location= $_SERVER['DOCUMENT_ROOT'] . '/ehars/photo/' . $_FILES["image"]["name"]; 
    move_uploaded_file($_FILES["image"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . '/ehars/photo/' . $_FILES["image"]["name"]); 
    mysql_query("INSERT INTO photo (location,emp_id) VALUES ('$location','$emp_id')");     
} 

Perché non riesco a vedere la mia immagine? È a causa della radice del documento? O è qualcos'altro? Per favore aiutami, grazie.

aggiornamento:

base sull'immagine qui sotto, il mio codice (come mostrato sopra) si trova all'interno della cartella amministratore. Il motivo per cui mi piacerebbe salvare le mie immagini in/ehars/foto in modo che, ogni livello di utente, amministratore admin2 e utente può visualizzare la stessa foto che è stato caricato. Se potessi consigliarmi qual è il modo migliore per raggiungere il mio obiettivo sopra. Grazie ancora!

enter image description here

+0

Quali sono le autorizzazioni impostate sul server? – Huey

+0

http://answers.microsoft.com/en-us/windows/forum/windows_8-files/window-photo-viewer-cant-open-this-picture-because/05e31f84-75ab-4772-84a5-5ce0e6e71f61 – Young

+0

@ Huey mi spiace ma sono nuovo di questo quindi cosa intendi con le autorizzazioni impostate sul server? –

risposta

1

Se il vostro schema URL non è "file: //", si dovrebbe autorizzare il browser. Ricordo che non è possibile collegare facilmente CSS e immagini al computer locale per motivi di sicurezza.

1

modificare il codice in questo

if (!isset($_FILES['image']['tmp_name'])) 
{ 
    echo ""; 
} 
else 
{ 
    $file=$_FILES['image']['tmp_name']; 
    $location='/ehars/photo/' . $_FILES["image"]["name"]; //remove $_SERVER['DOCUMENT_ROOT'] 
    move_uploaded_file($_FILES["image"]["tmp_name"], '/ehars/photo/' . $_FILES["image"]["name"]); // remove $_SERVER['DOCUMENT_ROOT'] . 
    mysql_query("INSERT INTO photo (location,emp_id) VALUES ('$location','$emp_id')");     
} 

perché tou dovrebbe modificare il codice, perché il server non andando percorso finestre di lettura (c: /apache/htdocs/yourimagespath/yourimages.jpg); dovrebbe leggere (/images/yourimages.jpg), io asume htdocs è la tua directory radice. e il risultato nel tuo database è /ehars/photo/yourimages.jpg non c: /apache/htdoc/ehars/photo/yourimages.jpg.

spero che ti aiuti.

+0

Ciao signore, grazie per il vostro aiuto. Immagino che quello che dici sia vero riguardo al percorso della cartella. Ho provato a rimuovere $ SERVER ['DOCUMENT_ROOT'] nel mio codice. Tuttavia, non c'è alcuna immagine dell'immagine che ho caricato nella mia foto della cartella. Ho aggiornato il mio problema sopra per aiutarti a capire meglio il mio problema. Grazie ancora! –