将图像上传到目录时出错

error uploading image to directory

当我尝试将图像上传到我的目录时,我不断收到这些警告:

Warning: move_uploaded_file(localhost/school/photo/IMG_3036.PNG): failed to open stream: No such file or directory in C:\xampp\htdocs\school\Pages\upload.php on line 20

Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpDE6A.tmp' to 'localhost/school/photo/IMG_3036.PNG' in C:\xampp\htdocs\school\Pages\upload.php on line 20

代码:

 <form action="upload.php" method="post" enctype="multipart/form-data">
 <input type="file" name="upload" /> &nbsp; <input type="submit" name="btn_upload" value="UPLOAD" />
 </form> 
<?php 
if (isset($_POST['btn_upload']))
{
$filetmp = $_FILES["upload"]["tmp_name"];
$filename = $_FILES["upload"]["name"];
$filetype = $_FILES["upload"]["type"];
$filepath = "localhost/school/photo/".$filename; 
 move_uploaded_file($filetmp,$filepath); //LINE 20

$con = mysqli_connect ("localhost" , "web" , "" , "imagestore") or die ("could not connect"); 
 $sql = "INSERT INTO upload_img (img_name,img_path,img_type) VALUES ('$filename','$filepath','$filetype')";

 $result = mysqli_query($con,$sql) or die("error");

} 

 ?> 

这是我的目录,

c:xammp\htdocs\school\photo

move_uploaded_file 需要文件系统路径,而不是 url 路径作为目标。您正在传递 url 路径。假设您有权写入文件夹,设置正确的 $filepath 应该有效:

$filepath = "C:\xampp\htdocs\school\photo\".$filename;

因为这是您计算机上到照片目录的实际路径。