Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 如何将文件上载到服务器,然后将其记录到MySQL数据库中?_Php_Mysql_Html - Fatal编程技术网

Php 如何将文件上载到服务器,然后将其记录到MySQL数据库中?

Php 如何将文件上载到服务器,然后将其记录到MySQL数据库中?,php,mysql,html,Php,Mysql,Html,今天,我尝试创建一个上传功能,人们可以将一张尺寸为468px×60px的照片上传到我服务器上的一个目录,例如example.com/banner。然后,该横幅的URL将被发送到MySQL数据库,例如.com/banners/1.jpg。你知道我该怎么做吗?一些想法: 要上载文件,您应该使用enctype=multipart/formdata在HTML中创建一个POST表单 我将使用PHP通过$\u POST获取文件并将其保存到文件夹中,同时将路径保存到字符串中,即从web浏览器可见的公共文件夹的

今天,我尝试创建一个上传功能,人们可以将一张尺寸为468px×60px的照片上传到我服务器上的一个目录,例如example.com/banner。然后,该横幅的URL将被发送到MySQL数据库,例如.com/banners/1.jpg。你知道我该怎么做吗?

一些想法:

要上载文件,您应该使用enctype=multipart/formdata在HTML中创建一个POST表单

我将使用PHP通过$\u POST获取文件并将其保存到文件夹中,同时将路径保存到字符串中,即从web浏览器可见的公共文件夹的相对路径

将文件放入正确的文件夹后,生成MySQL连接并将该路径保存到数据库

加载需要该文件的页面时,从数据库中获取路径字符串,并将其打印到通常在img标记中对应的位置


听起来没那么难,这是最基本的。你已经学过PHP或类似的语言了吗?HTML是实现这一目标的必备工具。

要使用PHP将文件保存到数据库,您需要使用enctype=multipart/form data的表单上传文件,如下所示:

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
如果将此字段保存在数据库中,$fileContent需要保存在Blob类型的字段中


要为文件创建下载页面,请使用php header函数将HTML标题更改为文件的标题,并写入Blob的内容。上传的文件不在$\u POST中,而是在数组中的$\u文件中

这里有一个简单的例子,可以上传一个文件并检索其中的信息

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

move_uploaded_file php指令是将临时上传的文件移动到最终目录的方法,有很多代码可以将名称放入MySQL中


我让你搜索-

谷歌,谷歌,谷歌。你也应该读这个:还有这个:
<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>
<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>