<?php
include_once 'database/dbconnect.php';
if(isset($_POST['btn-upload'])){
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="uploads/";
move_uploaded_file($file_loc,$folder.$file);
$sql="INSERT INTO upload(file,type,size) VALUES('$file','$file_type','$file_size')";
mysql_query($sql);
}
?>
<?php
if( $_FILES['file']['name'] != "" ){
copy( $_FILES['file']['name'], "uploads/" ) or
die( "Could not copy file!");
}
else{
die("No file specified!");
}
?>
当我尝试使用xampp上传任何文件时,我正面临一个错误,上面写着
警告:copy(first.pdf):无法打开流:第4行的/opt/lampp/htdocs/new-project/upload.php中没有此类文件或目录 无法复制文件!
我甚至尝试通过
更改文件夹权限sudo chmod -R 755 / opt / lampp / htdocs / new-project /
但是,没有任何改变。
答案 0 :(得分:0)
配置“php.ini”文件
首先,确保将PHP配置为允许文件上传。
在“php.ini”文件中,搜索file_uploads指令,并将其设置为On:
file_uploads = On
答案 1 :(得分:0)
由于name
是原始名称而不是上传文件的路径,您应该使用tmp_name
代替:
// check so file is set and contains no error
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) {
$destination = 'uploads/' . $_FILES['file']['name'];
// use move_uploaded_file() instead of copy()
move_uploaded_file($_FILES['file']['tmp_name'], $destination);
}
else {
die("No file specified!");
}
如果error
不等于0,您可以查看此链接后出现的错误类型:File upload errors