0
私は画像ファイルをアップロードできるページを作ったが、画像とともにいくつかの詳細を追加して同時にアップロードすることができたいと思っている。どのように私のテーブルに画像を持つテキストボックスから詳細をアップロードすることができます。ここでタイトルと詳細をPHPでmysqlに挿入
は私index.php
コードです:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fa-IR">
<head>
<meta name="author" content="www.hamyarprojects.com" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Upload file</title>
<link href="css/Style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="mainframe" >
<div id="lp" class = "panel panel-primary">
<div class = "panel-heading">
<h3 class = "panel-title">Upload file test</h3>
</div>
<div class = "panel-body">
<form action="Upload.php" method="post" enctype="multipart/form-data">
<p id="btn_box">
<input type="file" name="upload_image" />
</p>
<p id="btn_box">
<input type="submit" value="Upload Photo" name="submit">
<input type="reset" value="Clear" name="reset">
</p>
</form>
</div>
</div>
</div>
</body>
</html>
、ここupload.php
コード
<link href="css/Style.css" rel="stylesheet" type="text/css">
<div class="main">
<?php
if (!isset($_FILES['upload_image'])) {
echo '<p>Please select a image</p>';
} else {
try {
upload();
echo '<p>Upload successfully</p>';
} catch(Exception $e) {
echo '<h4>'.$e->getMessage().'</h4>';
}
}
function upload() {
if (is_uploaded_file($_FILES['upload_image']['tmp_name'])
&& getimagesize($_FILES['upload_image']['tmp_name']) != false
) {
$size = getimagesize($_FILES['upload_image']['tmp_name']);
$type = $size['mime'];
$imgfp = fopen($_FILES['upload_image']['tmp_name'], 'rb');
$size = $size[3];
$name = $_FILES['upload_image']['name'];
$maxsize = 99999999;
if ($_FILES['upload_image']['size'] < $maxsize) {
$dbh = new PDO("mysql:host=localhost;dbname=bmc", 'root', '');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("INSERT INTO imageblob (image_type, "
. "image, image_size, image_name) VALUES (? ,?, ?, ?)");
$stmt->bindParam(1, $type);
$stmt->bindParam(2, $imgfp, PDO::PARAM_LOB);
$stmt->bindParam(3, $size);
$stmt->bindParam(4, $name);
$stmt->execute();
} else {
throw new Exception("size invalid");
}
} else {
throw new Exception("invalid format !");
}
}
</div>
に役立ちます。フォームを提出すると、あなたは '$ _FILES'のファイルにアクセスするだけでなく、' $ _POST'に投稿されたデータを持っています。フォームに入力を入れてアクセスして、詳細を取得してください。 – nerdlyist