将同一个文件上传到多个文件夹
Upload the same file into multiple folders
我有一个上传表格,当我 select 文件时,我需要以多个 folders.Any 想法上传它,该怎么做?我试过像下面这样的循环:
foreach($_POST['check'] as $check){
move_uploaded_file($_FILES['doc']['tmp_name'], $target_path);
chmod($target_path,0777);
}
但是它只上传once.Any个想法好吗?
上传一次然后 copy() 它。
上传后,将文件从目标路径复制到其他路径 copy()。
foreach($_POST['check'] as $check){
move_uploaded_file($_FILES['doc']['tmp_name'], $target_path);
chmod($target_path,0777);
// and now...
copy($target_path, $target_path_2);
copy($target_path, $target_path_3);
// etc...
}
顺便说一下,设置权限 0777 通常是不必要的,也是一个坏主意。您想让任何人上传文件并让任何用户执行它们吗?这就是开始让任何人完全控制您的机器的方法。
另外,你确定你需要在多个地方使用该文件吗?为什么不拥有一个公共存储文件夹并创建指向它的符号链接呢?但这当然取决于您的设置。
$i = 0;
foreach($_POST['check'] as $check){
$basePath = "/var/www/html/more/phpexm/";
$target_path = $basePath . $check;
if (!file_exists($target_path)){
mkdir($target_path, 0777);
}
if ($i == 0){
$sFileNameTmp = $_FILES['doc']['tmp_name'];
$sFileName = $_FILES['doc']['name'];
move_uploaded_file($sFileNameTmp, $target_path . '/' . $sFileName);
$sFirstFileUploaded = $target_path;
}
else{
copy ($sFirstFileUploaded . '/' . $sFileName, $target_path . '/' . $sFileName);
}
$i++;
}
我有一个上传表格,当我 select 文件时,我需要以多个 folders.Any 想法上传它,该怎么做?我试过像下面这样的循环:
foreach($_POST['check'] as $check){
move_uploaded_file($_FILES['doc']['tmp_name'], $target_path);
chmod($target_path,0777);
}
但是它只上传once.Any个想法好吗?
上传一次然后 copy() 它。
上传后,将文件从目标路径复制到其他路径 copy()。
foreach($_POST['check'] as $check){
move_uploaded_file($_FILES['doc']['tmp_name'], $target_path);
chmod($target_path,0777);
// and now...
copy($target_path, $target_path_2);
copy($target_path, $target_path_3);
// etc...
}
顺便说一下,设置权限 0777 通常是不必要的,也是一个坏主意。您想让任何人上传文件并让任何用户执行它们吗?这就是开始让任何人完全控制您的机器的方法。
另外,你确定你需要在多个地方使用该文件吗?为什么不拥有一个公共存储文件夹并创建指向它的符号链接呢?但这当然取决于您的设置。
$i = 0;
foreach($_POST['check'] as $check){
$basePath = "/var/www/html/more/phpexm/";
$target_path = $basePath . $check;
if (!file_exists($target_path)){
mkdir($target_path, 0777);
}
if ($i == 0){
$sFileNameTmp = $_FILES['doc']['tmp_name'];
$sFileName = $_FILES['doc']['name'];
move_uploaded_file($sFileNameTmp, $target_path . '/' . $sFileName);
$sFirstFileUploaded = $target_path;
}
else{
copy ($sFirstFileUploaded . '/' . $sFileName, $target_path . '/' . $sFileName);
}
$i++;
}