使用 PHP SQL 在一个表单中上传 2 张图片
Posted
技术标签:
【中文标题】使用 PHP SQL 在一个表单中上传 2 张图片【英文标题】:upload 2 images in a single form with PHP SQL 【发布时间】:2014-10-22 13:39:49 【问题描述】:我需要帮助,我想创建一个可以上传两张图片的表单,一张用于缩略图,一张用于主图。它们都应该保存在不同的文件夹中,但保存在一个数据库表中。谢谢,这是我所做的,但问题是 1. 图片没有保存在数据库中
<?php
require_once('includes/rypecms.php');
error_reporting(0);
if($_POST['submit'])
$lname=basename($_FILES['file_upload']['name']);
$ltname=$_FILES['file_upload']['tmp_name'];
$tname=basename($_FILES['file_upload']['tname']);
$ttname=$_FILES['file_upload']['tmp_name'];
$imagename = $_POST['imagename'];
$content = $_POST['content'];
$links = $_POST['links'];
$dir='image';
$dir2='thumb';
if(move_uploaded_file($ltname,$dir."/".$lname))
if(move_uploaded_file($ttname,$dir2."/".$tname))
mysql_select_db($database_rypecms, $rypecms);
$qur="INSERT INTO portweb (id, name, tname, imagename, content, links, pathl, patht) VALUES(' ', '$lname', '$tname', '$imagename', '$content', '$links', 'image/$lname' , 'thumb/$tname' )";
$res=mysql_query($qur , $rypecms);
echo 'files upload success';
?>
here is the form. two file upload buttons.one for thumbnail and the other for the main image
<html>
<head>
<title>upload pictures portfolio web</title>
</head>
<body>
<a href="portweb.php">Back</a>
<br />
<form action="addportweb.php" method="post" enctype="multipart/form-data">
<label>Main image:</label><input type="file" name="file_upload" /><br />
<label>Thumbnail:</label><input type="file" name="file_upload" /><br />
<label>Name:</label> <input type="text" name="imagename" class="text_input" maxlength="100" /><br />
<label>Description:</label>
<textarea name="content" style="width: 300px; height:80px; padding: 5px; resize:none;" ></textarea>
<br />
<label>Link:</label> <textarea name="links" style="width: 100px; height:50px; padding: 5px; resize:none;" ></textarea><br />
<input type="submit" name="submit" value="upload" />
</form>
</body>
</html>
【问题讨论】:
向我们展示您的表单 HTML 代码。 拜托,don't usemysql_*
functions,它们不再维护,而是officially deprecated。请改为了解 prepared statements,并使用 PDO 或 MySQLi。 This article 将帮助您做出决定。
为每个文件输入选择唯一的名称并相应地处理。
【参考方案1】:
或者你可以这样使用文件字段数组:
<input type="file" name="file_upload[]" />
<input type="file" name="file_upload[]" />
通过这种方式 var_dump $_FILES['file_upload'] ,您将获得要访问的结构。
希望对你有帮助!
【讨论】:
【参考方案2】:您应该更改文件上传的名称,以便每个都是单独的变量。
<input type="file" name="file_upload" />
<input type="file" name="file_upload_thumb" />
然后在php中你应该调用$_FILES['file_upload']
作为主文件和$_FILES['file_upload_thumb']
作为缩略图文件。
$lname=basename($_FILES['file_upload']['name']);
$ltname=$_FILES['file_upload']['tmp_name'];
$tname=basename($_FILES['file_upload_thumb']['tname']);
$ttname=$_FILES['file_upload_thumb']['tmp_name'];
这应该有助于您不改变代码的整个结构。
【讨论】:
以上是关于使用 PHP SQL 在一个表单中上传 2 张图片的主要内容,如果未能解决你的问题,请参考以下文章