到目前为止,我只能使用以下代码将一张带有html格式的图片发布到mySql表中:
$foldername="events/"; //path to save image
$con=mysql_connect("mysql.website.com","xxxxx","xxxxxx") or die("Fail");
mysql_select_db("u141416789_fin") or die("Fail");
if (!empty($_FILES["image"]["tmp_name"]))
{
if($image=="image/jpeg" || $image=="image/jpg" || $image=="image/gif" || $image=="image/x-png")
{
$gambar = $foldername. basename($_FILES['image']['name']);
if (move_uploaded_file($_FILES['image']['tmp_name'], $gambar)) {
echo "Gambar berhasil dikirim ".$gambar;
$sql="INSERT INTO education (id, category, title, date, content, fullcontent, image)
VALUES (0, 'events', '$title', '$date', '$content', '$fullcontent', '$gambar')";
$res=mysql_query($sql) or die (mysql_error());
}
else {echo "Image fail to send";}
}
else {echo "Image must be .jpg .gif .png";}
}
else {echo "Please choose image";}
注意:我从上面的代码中删除了几行,例如" $ id,$ category,$ title等,因为它们不是这个问题中的主要问题 。
我用html格式的文件字段发布图片。
<input type="file" name="image" id="image" />
那时,我只需要在文章模板中张贴一张图片。
但今天,我需要发布多张图片。
上面的php代码旁边是否有一个简单的方法或其他PHP代码,以便它可以帮助我发布多张图片?
这是我的完整代码
<?php
$text = str_replace('\'', '\'\'', $text);
$namafolder="events/"; //tempat menyimpan file gambar
$tpl_path="events/";
$tpl_file = "eventstemplate.html";//nama template
$submission_path="events/";
$con=mysql_connect("mysql.idhostinger.com","u141416789_fin","alkasih") or die("Gagal");
mysql_select_db("u141416789_fin") or die("Gagal");
if (!empty($_FILES["image"]["tmp_name"]))
{
$id=$_GET['id'];
$title=$_POST['title'];
$date=$_POST['date'];
$content=$_POST['content'];
$fullcontent=$_POST['fullcontent'];
$image=$_FILES['image']['type'];
if($image=="image/jpeg" || $image=="image/jpg" || $image=="image/gif" || $image=="image/x-png")
{
$gambar = $namafolder . basename($_FILES['image']['name']);
if (move_uploaded_file($_FILES['image']['tmp_name'], $gambar)) {
echo "Gambar berhasil dikirim ".$gambar;
$sql="INSERT INTO education (id, category, title, date, content, fullcontent, image)
VALUES (0, 'events', '$title', '$date', '$content', '$fullcontent', '$gambar')";
$res=mysql_query($sql) or die (mysql_error());
} else {echo "Gambar gagal dikirim";}
} else {echo "Jenis gambar yang anda kirim salah. Harus .jpg .gif .png";}
} else {echo "Anda belum memilih gambar";}
$data['keywords']=$_POST['keywords'];
$data['date']=$_POST['date'];
$data['title']=$_POST['title'];
$data['content']=$_POST['content'];
$data['fullcontent']=$_POST['fullcontent'];
$data['filename']=$_POST['filename'];
$placeholders= array ("{keywords}", "{date}", "{title}", "{content}", "{fullcontent}", "{filename}");
$tpl=file_get_contents($tpl_path.$tpl_file);
$new_submission_file = str_replace($placeholders, $data, $tpl);
$php_file_name=$title.".html";
$fp=fopen($submission_path.$php_file_name, "w");
fwrite($fp, $new_submission_file);
fclose($fp);
mysql_close($con);
?>
答案 0 :(得分:1)
您可以使用带有属性&#34; multiple&#34;
的文件上传输入<input type="file" name="image[]" id="image" multiple accept="image/*">
而且,从PHP中,您可以将这些文件作为数组访问。
请参阅以下链接了解更多详情。 http://php.net/manual/en/features.file-upload.multiple.php
答案 1 :(得分:0)
此答案仅适用于PDO示例。
PDO连接。还有一个针对错误记录的Try Catch构造。
$dbHost = 'localhost';
$dbUser = 'root';
$dbPassword = 'password';
$dbDatabase = 'databaseName';
$dbCharset = 'UTF8';
try {
$db = new PDO('mysql:host=' . $dbHost . ';dbname=' . $dbDatabase . ';charset=' . $dbCharset . ';', $dbUser, $dbPassword);
} catch (PDOException $connectionError) {
throw new Exception('Connection failed: ' . $connectionError->getMessage());
}
使用预准备语句的简单查询。
$thisQuery = $db->prepare('SELECT * FROM table WHERE id = :columID');
$thisQuery->bindParam(':columID', 1, PDO::PARAM_INT);
$thisQuery->execute();
$thisQuery->fetch(PDO::FETCH_OBJ);
希望它对你有所帮助。