您好我试图使用php将照片从我制作的网站上传到网站的托管服务器文件夹目录(/ public_html / upload /)。但该文件夹始终显示为空。我不知道我做错了什么。有人可以帮忙吗?
这是html文件:
<div id = "forms">
<form action="add_data.php" method="post" form enctype="multipart/form-data">
<div id = "info1">
<p> <h2> Accident Report Form </h2> </p>
</div>
<div id = "info2"><p> Please fill in the form below to report an accident </p></div>
<ol>
<li> <label for = "name" > Name: </label>
<input "type = "text" name = "name" id = "name"/> </li>
<li> <label for = "location" > Location of the accident: </label>
<input "type = "text" name = "location" id = "location" /> </li>
<li> <label for = "road" > Road Name: </label>
<input "type = "text" name = "road" id = "road"/> </li>
<li> <label for = "image" > Image: </label>
<input type="file" name="photo"><br> </li>
</ol>
<div id = "submit"><button type="submit" >Submit</button> </div><br>
</form>
</div>
而且,这是 add_data.php 文件:
<?php
$target = "/public_html/upload";
$target = $target . basename( $_FILES['photo']['name']);
$pic=($_FILES['photo']['name']);
?>
答案 0 :(得分:1)
改进了工作代码:
<?php
$target = "/public_html/upload/";
$target = $target .$_FILES['photo']['name'];
$pic=($_FILES['photo']['tmp_name']);
move_uploaded_file($pic, $target);
?>
答案 1 :(得分:1)
我已将您的代码更新为有效。
HTML - 没问题,但可以更好地格式化,尝试使用在线格式化工具
http://jsbeautifier.org/。
此外,表单开始标记应如下所示
<form action="add_data.php" method="post" enctype="multipart/form-data">
PHP - 评论中提供的说明
<?php
// Uploaded file will be stored in a temporary location and needs to
// be moved to a destination directory and given the original filename
//-----------------------------------------------------------------
// prepare target pathname
//
$target = "/public_html/upload";
$targetName = $_FILES['photo']['name'];
// get temp file name
//
$tmp = $_FILES['photo']['tmp_name'];
// use php's move_uploaded_file() function
// to copy temp file to final destination
move_uploaded_file($tmp, $targetDir . $targetName);