2010-11-20 2 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"/> 

Я получаю сообщение об ошибке, например undefined index-file.Ошибка при извлечении файлов с сервера

Ошибка в последних нескольких строках.

У меня в основном есть папка с изображением. Я хочу, чтобы он отображал только изображение в папке.

+0

Это как изображение профиля – brad

+0

Последние 9 строк не имеют смысла, кроме последнего. Для отображения изображения используется локальный путь к файлу, который не работает. Избавьтесь от этого, и вы уже можете быть в порядке –

ответ

1

Если вы открываете страницу в первый раз, форма не отправляется, и поэтому $ _FILES пуст. Вы пытаетесь получить доступ к $ _FILES даже в случае первой загрузки. Это неисправна линия:

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

Вы должны проверить, что $_POST["pic"] установлен до получения доступа к переменной $ _FILES (так же, как вы сделали на верхней части кода).

+0

oh..thanks ... и как мне отобразить файл, который был ранее загружен пользователем, а затем заменить его новым, загруженным пользователем? – brad

+0

Вы должны помнить, какие файлы пользователь загрузил. Вы можете использовать базу данных, файлы или сеансы для этого, в зависимости от ваших потребностей. Если вы сохраните список всех загруженных файлов пользователями, отсортируйте их по дате и выберите верхнюю. Если вы сохраняете только последний, просто перезаписывайте каждый раз, когда новый файл успешно загружен. –

+0

Извините, что спросил немой вопрос, но я новичок. Как сохранить изображения в базе данных? – brad

Смежные вопросы