2017-11-17 7 views
1

データベースで動作する投稿作成者を作成したいが、画像またはファイルをアップロードできない。私のWebページはmaterializeフレームワークを使用しています。このコードは主に重要な部分に縮小されています。ここで画像/ファイルアップロードがmaterializecssフレームワークで動作しない

<form action="add-post.php" method="post" enctype="multipart/form-data"> 

<form action="add-post.php" method="post"> 

から

<?php 
require_once 'include/Database.php'; 
require_once 'include/Sessions.php'; 
require_once 'include/Functions.php'; 

if (isset($_POST['addPostButton']) || isset($_FILES['image'])) { 

    $imageName = $_POST['image']; 
    $imageDirectory = 'uploads/' . basename($_FILES['image']['name']); 

    if (!move_uploaded_file($_FILES['image']['tmp_name'], $imageDirectory)) { 
     $_SESSION['ErrorMessage'] = 'File is invalid!'; 
    } else { 
     global $ConnectingDB; 
     $stmt = $ConnectingDB->prepare("INSERT INTO posts(image) VALUES('$imageName')"); 
     if ($stmt->execute()) { 
      $_SESSION['SuccessMessage'] = 'Post created'; 
     } 
    } 
} 
?> 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Admin Dashboard</title> 
    <link type="text/css" rel="stylesheet" href="css/materialize.css"> 
    <link type="text/css" rel="stylesheet" href="css/styles.css"> 
</head> 
<body> 
    <form action="add-post.php" method="post"> 
     <div class="row"> 
      <div class="file-field input-field"> 
       <div class="btn green"> 
        <span>File</span> 
        <input type="file" name="image"> 
       </div> 
       <div class="file-path-wrapper"> 
        <input type="text" class="file-path" placeholder="Choose an image"> 
       </div> 
      </div> 
     </div> 
    </form> 
</body> 
</html> 
+0

イメージまたはファイルをアップロードできません。つまり、dbまたはフロントエンドを意味しますか? – kranthi

+0

データベースにアップロードします –

答えて

0

が送信されたファイルにフォーム属性enctypeを追加する必要があります。

+0

ありがとうございます。今それは動作します –

関連する問題