Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php插入文件_Php_Mysql - Fatal编程技术网

php插入文件

php插入文件,php,mysql,Php,Mysql,我正在为学校编写一个php文件。我们必须采取的形式,并添加名字,姓氏,电子邮件和照片的数据库。我可以将名称、电子邮件添加到数据库中,但无法将图像名称添加到数据库中。下面是部分php代码和一些html。如果有人可以,请看一看,并给予一些帮助。非常感谢 <?php include("db_connect.php");?> <?php // select the database in which to add a table mysql_select_db("final_exam

我正在为学校编写一个php文件。我们必须采取的形式,并添加名字,姓氏,电子邮件和照片的数据库。我可以将名称、电子邮件添加到数据库中,但无法将图像名称添加到数据库中。下面是部分php代码和一些html。如果有人可以,请看一看,并给予一些帮助。非常感谢

<?php include("db_connect.php");?>
<?php  // select the database in which to add a table
mysql_select_db("final_exam_db",$con);



$sql ="INSERT INTO drivers_0115061 (ln,fn,month,day,year,photo,email) 
VALUES ('".$_POST["ln"]."',
    '".$_POST["fn"]."',
    '".$_POST["month"]."',
    '".$_POST["day"]."',
    '".$_POST["year"]."',
    '".$_POST['file']['photo']."',
    '".$_POST["email"]."'
    )";

//$sql="INSERT INTO people (fn,ln,dob,city,prov,pc,gender,hc,nod) VALUES ('steve','douglas',1234567,'winnipeg','manitoba','r3p 6g5','m','grey',2)";

//echo $sql;


mysql_query($sql, $con);
echo mysql_error();
?>




<?php include("db_close.php");?>

HTML:
<td>
Picture
</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
<input type="file" id="photo" name="photo"/>
</td>
</tr>
<tr>
<td>


用不同的方法解决问题

//be sure to add enctype in your form tag 
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
</form>
//确保在表单标记中添加enctype
首先将路径和文件名处理到数据库中

    $allowedExts = array("jpg", "jpeg", "gif", "png");
    $extension = end(explode(".", $_FILES["file"]["name"]));
    if ((($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/png")
    || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 20000)
    && in_array($extension, $allowedExts))
    {
    if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
    {
    echo $_FILES["file"]["name"] . " already exists. ";
    }
    else
    {
    //here is what actually you need to care , set your upload path from here
    move_uploaded_file($_FILES["file"]["tmp_name"],
    "your/upload/path/" . $_FILES["file"]["name"]);
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
    }
    }
    }
    else
    {
    echo "Invalid file";
    }
$allowedExts=array(“jpg”、“jpeg”、“gif”、“png”);
$extension=end(分解(“.”,$_文件[“文件”][“名称]);
如果(($_文件[“文件”][“类型”]=“图像/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/png”)
||($_文件[“文件”][“类型”]=“图像/pjpeg”))
&&($_文件[“文件”][“大小”]<20000)
&&in_数组($extension$allowedExts))
{
如果($\u文件[“文件”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件”][“错误”]。
”; } 其他的 { echo“上传:.”文件[“文件”][“名称”]。“
”; echo“Type:”.$\u文件[“file”][“Type”]。“
”; 回显“大小:”($_文件[“文件”][“大小”]/1024)。“kB
”; 回显“临时文件:”.$\u文件[“文件”][“tmp\u名称”]。
”; 如果(文件存在(“上载/”$\u文件[“文件”][“名称”])) { echo$\u文件[“文件”][“名称”]。“已存在。”; } 其他的 { //这里是你真正需要关心的,从这里设置你的上传路径 移动上传的文件($文件[“文件”][“tmp文件名”], “您的/upload/path/”$_文件[“文件”][“名称”]); echo“存储在:“.”upload/“$\u文件[”文件“][”名称“]; } } } 其他的 { 回显“无效文件”; }
如果一切正常,这意味着您在这里成功上传了一个文件,您需要用您的文件名保存您的数据库记录

无论什么时候你想打电话给你的档案,都要这样做 从数据库中获取文件名

<img href="your/path/name/<?php echo $filenamefromdatabase; ?>" />

什么是“无法将图像名称添加到数据库”呢?“无法将图像名称添加到数据库”是一个不足以让我们理解问题的描述。你试的时候发生了什么?你得到了不正确的结果吗?你没有得到结果吗?如果结果不正确,是什么导致结果不正确?你在期待什么?你得到正确的结果了吗?如果是,它们是什么?你有错误吗?别让我们猜了,我没有结果。名、姓和电子邮件已添加到数据库中,但图像名没有添加。没有错误,只是数据库中没有图像名称。文件名在$\u FILES数组中,而不是$\u POST数组中。我想你有一个