2013-11-08 3 views
-1

StackoverflowPHP/MySQLI - Загрузка изображений и просмотр изображений

Im в настоящее время разрабатывает страницу, где мне нужно создать новостную систему.

Система новостей работает нормально, но должна быть функция загрузки изображений (при создании новостей) и их отображения.

Так должно быть, загрузите изображение (максимальный размер и т. Д.), И он будет загружен в папку на моем сервере и создаст путь в базе данных mysql.

С наилучшими пожеланиями, Кристиан

+1

http://www.php.net/manual/en/features.file-upload.php – Passerby

ответ

1

форма

<form action="accept-file.php" method="post" enctype="multipart/form-data"> 
     Your Photo: <input type="file" name="photo" size="25" /> 
     <input type="submit" name="submit" value="Submit" /> 
    </form> 

PHP (Accept-file.php)

//if they DID upload a file... 
if($_FILES['photo']['name']) 
{ 
    //if no errors... 
    if(!$_FILES['photo']['error']) 
    { 
     //now is the time to modify the future file name and validate the file 
     $new_file_name = strtolower($_FILES['photo']['tmp_name']); //rename file 
     if($_FILES['photo']['size'] > (1024000)) //can't be larger than 1 MB 
     { 
      $valid_file = false; 
      $message = 'Oops! Your file\'s size is to large.'; 
     } 

     //if the file has passed the test 
     if($valid_file) 
     { 
      //move it to where we want it to be 
      move_uploaded_file($_FILES['photo']['tmp_name'], 'uploads/'.$new_file_name); 
      $message = 'Congratulations! Your file was accepted.'; 
     } 
    } 
    //if there is an error... 
    else 
    { 
     //set that to be the returned message 
     $message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error']; 
    } 
} 

//you get the following information for each file: 
$_FILES['field_name']['name'] 
$_FILES['field_name']['size'] 
$_FILES['field_name']['type'] 
$_FILES['field_name']['tmp_name'] 
+0

круто, но как я смогу показать его и получить путь в моей базе данных sql? Например, мне нужно получить его через базу данных. Поэтому он любит, 1 новость, содержит это единственное изображение. – kristian

+0

Чувак, вам нужно научиться кодировать :-), по одной строке за раз –

+0

Я думаю, что знаю как :). Просто нужно взять имя, размер, тип, tmp_name в мою базу данных. Попробуем, спасибо до сих пор – kristian

0

Этот код для вас ссылки:

<?php 

    $allowedExts = array("gif", "jpeg", "jpg", "png"); 
    $temp = explode(".", $_FILES["file"]["name"]); 
    $extension = end($temp); 

    if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts)) { 

    if ($_FILES["file"]["error"] > 0) { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; 
    } else { 
     echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
     echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
     echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

     if (file_exists("upload/" . $_FILES["file"]["name"])) { 
      echo $_FILES["file"]["name"] . " already exists. "; 
     } else { 
      if(move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"])){ 
       echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
      }else{ 
       echo $_FILES["file"]["name"]." unable to store"; 
      } 
     } 
    } 
    } else { 
    echo "Invalid file"; 
    } 
?> 
0

I теперь удалось создать систему, я понял, что я чтобы проверить все ваши ответы! :) Кроме того, потребовалось некоторое время, чтобы прочитать документацию по php.net;)

С наилучшими пожеланиями, Kristian

+0

Должен опубликовать свой ответ. Я хотел бы посмотреть, что вы собрали – Kray

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