buy*_*ies 0 php mysql file-upload
所以我想:
上传一个csv文件,其中包含一个学生编号列表,每行一个(每行392232).
用学生编号填充一个数组(因为我已经有一个进程代替从一组学生数字中查找id并存储等等,如果他们要手动添加学生)
我一直在寻找这里的教程.
但是我对此有点困惑:
if(isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])){...
他'tmp_name'从哪里建立?
无论如何,如果有人能解释我应该怎么做,我会很感激帮助.
非常感谢,
编辑:增加了它不工作的进度.
if(isset($_POST['csv_submit'])){
if(isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])){
//upload directory
$upload_dir = "/ece70141/csv_files/";
//create file name
$file_path = $upload_dir . $_FILES['csv_file']['name'];
//move uploaded file to upload dir
// GETTING THE ERROR BELOW.
if (!move_uploaded_file($_FILES['csv_file']['tmp_name'], $file_path)) {
//error moving upload file
echo "Error moving file upload";
}
print_r($_FILES['csv_file']);
//delete csv file
unlink($file_path);
}
}
Run Code Online (Sandbox Code Playgroud)
$_FILES是一个类似的魔法超全球$_POST.它是在最后一个请求中上传的每个文件的数组,以及存储该文件的位置(tmp_name).
tmp_name 基本上是由Web服务器生成的,让PHP知道它们存储文件的位置.
您在$_FILES阵列的每个元素中都可以使用以下项目:
从我在代码中看到的内容来看,这将完美无缺,正如评论中所讨论的那样,我认为问题在于HTML.
您链接到的教程的<form ..>标记定义不正确.对于文件上传,您需要设置enctype属性,下面是它应该是什么样子:
<form action="" method="post" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)