gpt4 book ai didi

PHP上传文件,保存文件url到MySQL

转载 作者:行者123 更新时间:2023-11-29 14:30:18 25 4
gpt4 key购买 nike

卡住了,尝试从ajax上传到w3schools版本,但没有成功。

我的 _events.php 脚本包含以下内容来获取文件信息:

<input name="event_image" type="file" />

我的 _eventscreate.php 脚本无法将文件上传到我的 _gallery/目录,上传后我想将文件的 URL 保存到我的数据库中(请参阅 SQL 查询)。

<?php   // Get Event ID
$location=$_GET['location'];

// Get values from form
$event_name=$_POST['event_name'];
$event_description=$_POST['event_description'];
$event_date=$_POST['event_date'];
$event_time=$_POST['event_time'];
$event_cost=$_POST['event_cost'];
$event_image=$_POST['event_image'];

// Connection to MySQL Database.
include ('_includes/_dbconnection.php');
include ('_includes/_dbopen.php');

// Update Event using Event ID.

$sql="INSERT INTO b_events (ename, edescription, edate, etime, ecost, locationid, eimage)VALUES('$event_name', '$event_description', '$event_date', '$event_time', '$event_cost', '$location', '$event_image')";
$result=mysql_query($sql);

if($result){
header('Location: _events.php');
}

else {
header('Location: _home.php');
}

?>

请帮忙

最佳答案

通过 URL,我假设您指的是文件本地副本的路径,而不是远程源位置。如果我弄错了,答案可能是“不要使用文件上传”。

当你的php脚本被执行时(除非你做了任何特别奇怪的事情),这意味着文件上传已经完成并且文件信息(名称,大小等)被存储在$_FILE中。在您能够存储或使用其路径(或者确实将其移动到 _gallery)之前,您需要设置该路径。上传后,文件将存储在 $_FILES[fileID]["tmp_name"] 的路径中。但是您不能直接在此路径上进行操作,例如移动或读取操作(至少我在 Apache2 中不能)。

首先,您需要通过 PHP 的 inbuit 方法将该文件写入您选择的位置。例如:

move_uploaded_file($_FILES[fileID]["tmp_name"], "_gallery/".$_FILES[fileID]["name"]);

之后,该文件就属于您,您可以按照您的意愿进行处理,并且它的地址(上例中的“_gallery/”.$_FILES[fileID][“name”])只是另一个 PHP 字符串。

如果您所说的 URL 是指该文件的向外地址(某人将其放入浏览器中以访问该文件),那么您需要自己构建它。在最简单的情况下,文件位于 webroot 中,这意味着将相对路径连接到您刚刚编写的文件。如果您不想使用硬编码的基本 url,则 $_SERVER 中的值可能对你有用。

关于PHP上传文件,保存文件url到MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10139212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com