我需要这样,当文件在此文件夹中可用时,它会自动加载文件
模板/顺序/文件
<input style="float: right; width: 40%; margin-top: 2px; " type="file" name="zip_images_<?php echo $OrderProduct->orders_products_id?>'[]" />
现在我确实喜欢这个
<?php
if (count($_FILES) > 0)
{
$objBlockBase->uploadImages($Orderpid, $OrderId);
}
function uploadImages($Orderpid, $OrderId)
{
$valid_image_type = array('image/jpg', 'image/png');
$valid_zip_type = array('application/x-zip-compressed', 'application/download', 'application/zip');
$folder = DIR_WS_IMAGES_ORDERS . $OrderId . '/block_images';
(isset($_POST['clearImages']) && ($_POST['clearImages'] == 1 || $_POST['clearImages'] == '1')) ? (exec('rm -rf '.$folder.'/*')) : (true);
(!is_dir($folder)) ? (mkdir($folder, 0777)) : (true);
foreach ($_FILES as $file)
{
$total_count = count($file['name']);
for($i = 0; $i < $total_count; $i++)
{
if ($file['error'][$i] == 0 && $file['size'][$i] > 0)
{
$str_filename = preg_replace("[^A-Za-z0-9.-]", "_", $file['name'][$i]);
while (strpos($str_filename,"__")>0)
$str_filename = str_replace("__", "_", $str_filename);
$file_name = $folder . '/' . $str_filename;
move_uploaded_file($file['tmp_name'][$i], $file_name);
if (in_array($file['type'][$i], $valid_image_type) || in_array($file['type'][$i], $valid_zip_type))
{
if (in_array($file['type'][$i], $valid_zip_type))
{
exec('unzip ' . $file_name . ' -d ' . $folder . '/');
unlink($file_name);
}
}
}
}
}
}
?>
仅在我手动上传文件时才有效。但我希望它从模板/订单/文件自动加载文件。这可能吗?
答案 0 :(得分:0)
我认为您想要使用的是PHP的scandir();
,它将为您提供文件夹中所有文件的数组。
脚本示例:
scandir("templates/order/file");
这将输出如下数组:
Array(
[0] => .
[1] => ..
[2] => test.jpg
[3] => foo.txt
[4] => ex.zip
)
数组中的两个点条目将始终显示。
您还可以对scandir()的顺序进行排序;在手之前。或者实际上做任何你想要的东西。点击here了解有关scandir();
的更多信息我希望这是你正在寻找的,因为这是我理解你的问题。