卡住了,尝试从ajax上传到w3schools版本,但没有成功。
我的 _events.php 脚本包含以下内容来获取文件信息:
我的 _eventscreate.php 脚本无法将文件上传到我的 _gallery/目录,上传后我想将文件的 URL 保存到我的数据库中(请参阅 SQL 查询)。
$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'); } khác { 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 中的值可能对你有用。
Tôi là một lập trình viên xuất sắc, rất giỏi!