【发布时间】:2017-07-30 03:20:31
【问题描述】:
在我的代码中,我为该目录创建了一个文件夹和子文件夹。因此,当用户发送文件时,我会使用他们的“userid_fullname”创建一个目录,遍历文件,然后提交到 fullname 文件夹。但是每次用户提交文件时,第一个文件会进入文件夹,其他文件会消失。我相信问题在于我的“$key”变量,因为它控制计数。这是我的代码。
PHP
<?php
if($_SERVER['REQUEST_METHOD'] =="POST"){
$currentDirectory = getcwd();
$userid = "8503";
$fullname = "peopl39e";
foreach($_FILES['file']['tmp_name'] as $key => $error){
$file_tmp = file_get_contents($_FILES['file']['tmp_name'][$key]);
//keep only A-Z and 0-9 and everything else KILL
$file_name = preg_replace("/[^a-z0-9\.]/", "_", strtolower($_FILES['file']['name'][$key]));
$file_name = strtotime("now")."_".$file_name;
$dir = "devPacks/" .$userid."_".$fullname;
if(is_dir($dir)==false){
mkdir($dir, 0777);
}
if(!move_uploaded_file($_FILES['file']['tmp_name'][$key],$dir.'/'.$file_name)){
die("File didn't send!");
}else{
die("GOOD");
}
}
}
?>
<form method="post" enctype="multipart/form-data" autocomplete="off">
<br>
Select Pack Screenshots/Video: <input type="file" name="file[]" multiple>
<br></br>
<input type="submit" name="submit">
</form>
【问题讨论】:
-
die("GOOD");for 是什么?如果你可以移动文件不是你的代码将退出。 (“文件未发送!”或“好”) -
仅供测试使用。
-
好的,但是如果你有这个,你的循环不会运行不止一次,因为 die 会结束执行
-
哇,我什至没听懂...谢谢
-
我已将此作为答案发布