将图像上传到目录时出错
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" /> <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;
因为这是您计算机上到照片目录的实际路径。
当我尝试将图像上传到我的目录时,我不断收到这些警告:
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" /> <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;
因为这是您计算机上到照片目录的实际路径。