はあなたがアップロード機能を作成する必要があり、かつ保存する方法PHPのクエリでこれを書くには考えていますあなたがイメージしているパスだけが保存されます。
データベースに、ファイルパス、mime、サイズのようなカラム名が少ないテーブルを作成します。
少し例:index.php
:
if(isset($_FILES['file']['name'])){
$name = $_FILES['file']['name'];
$mime = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
$path = 'uploads/' . $name; //maybe you should create the uploads/ folder before running the script
if(move_uploaded_file($tmp, $path)){
$db = new PDO('mysql:host=localhost;dbname=your_db_name','your_db_user','your_db_pass');
$stmt = $db->prepare('INSERT INTO your_table_name_here SET filepath=?,mime=?,size=?');
$stmt->execute([$path,$mime,$size]);
echo 'File uploaded successfully!';
}
}
?>
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="submit" value="Upload">
</form>
次にあなたが保存されたすべてのパスをつかむと、あなたのイメージのためのsrc
attrbuiteとして追加することができます。
//index.php
$stmt = $db->prepare('SELECT filepath FROM your_table_name_here');
$stmt->execute();
while($row = $stmt->fetch()){?>
<img src="<?php echo $row['filepath']; ?>" alt="image">
<?php }
しかし、これはあなたの学習の目的のためだけの超簡単なスクリプトであり、かつ安全ではないとして、このコードは、プロダクションモードで使用することはできません注意してください。
BLOBイメージを保存するのではなく、そのパスを保存することをお勧めします。 –
http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php – Sammitch