2010-11-20 21 views
0
<?php 

if(isset($_POST['pic'])){ 

if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 300000)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
    } 
    else 
    { 


    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 

     } 
     echo "<h1>Done! Looks Great!</h1>"; 
    } 
    } 

else 
    { 
    echo "Invalid file"; 
    } 
} 
?> 

<form action="editprofile.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="file" id="file" /> 
<p>Image format should be png or jpg.</p> 
<center><p class="submit"><input type="submit" name="pic" value="Upload Picture" /></p></center> 
</form> 
</div> 


<p style="text-align:center; font-size:18px;">Current Picture</p> 

<?php 

$filename = $_FILES['file']['tmp_name']; 

?> 

<img src="/path/to/the/upload/folder/<?php echo $filename; ?>"/> 
<img src="../../upload/foto.PNG" class="picture"/> 

Tanımlanmamış dizin - dosyası gibi bir hata alıyorum.Sunucudan dosya alınırken hata

Hata, son birkaç satırda.

Temel olarak bir resmi olan bir klasöre sahibim. Klasördeki tek resmi görüntülemek istiyorum.

+0

Bir profil resmi gibidir – brad

+0

Son 9 satır sonuncusu hariç mantıklı değil. Çalışmıyor olan bir görüntüyü görüntülemek için yerel bir dosya yolu kullanıyorsunuz. Bundan kurtulun ve zaten iyi olabilirsiniz –

cevap

1

Sayfayı ilk kez açarsanız, henüz bir form gönderilmemiş ve $ _FILES boştur. İlk yük durumunda bile $ _FILES'e erişmeyi deneyin. Bu hatalı çizgidir:

$filename = $_FILES['file']['tmp_name']; 

Sen $_POST["pic"] (kod üstünde yaptığımız gibi) $ _FILES değişkeni erişmeden önce ayarlanmış olduğunu kontrol etmelidir.

+0

oh..thanks ... ve kullanıcı tarafından daha önce yüklenen dosyayı nasıl görüntüleyebilirim ve sonra kullanıcı tarafından yüklenen yenisiyle değiştirebilir miyim? – brad

+0

Kullanıcının hangi dosyaları yüklediğini hatırlamanız gerekir. İhtiyaçlarınıza bağlı olarak bunun için veritabanı, dosyalar veya oturumlar kullanabilirsiniz. Yüklenen tüm dosyaların listesini kullanıcılar tarafından saklarsanız, tarihe göre sıralayın ve en üstteki değeri seçin. Sadece sonuncuyu saklarsanız, yeni bir dosya başarıyla yüklendiğinde üzerine yazmanız yeterlidir. –

+0

Aptal bir soru sorduğum için üzgünüm, ama ben bir acemi. Görüntüleri veritabanında nasıl saklarım? – brad

İlgili konular