我想使用php或xmlwebrequest将文件上传到服务器,并在上传完成后从服务器返回另一个文件。我有一个简单的html表单脚本供用户选择要上载的文件,还有另一个按钮允许用户选择下载文件夹来放置从服务器接收到的新文件。
我创建的表单允许用户导航到下载文件夹,但是它希望在本地文件夹中选择文件名;这是一个下载,因此该文件不是客户端计算机上的文件,它来自服务器。
这是html代码:
Sub createBMSChart()
Dim cht As ChartObject
Dim ws As Worksheet
Dim myCht As ChartObject
Dim objSeries As Series
Dim srs As Series
Dim cWs As Worksheet
Dim tbl As ListObject
Sheets.Add after:=Worksheets("BMS Data")
ActiveSheet.Name = "BMS Data Chart"
Set cWs = ActiveSheet
cWs.Tab.Color = vbGreen
Set ws = Worksheets("BMS Data")
Set tbl = ws.ListObjects("Table1") '********************************************
Set cht = cWs.ChartObjects.Add(Left:=10, Width:=1300, Top:=10, Height:=550)
cht.Chart.SetSourceData Source:=tbl.Range '********************************************
cht.Name = "BMS Data Chart"
Set myCht = cht
With myCht.Chart
.ChartType = xlLine
.HasTitle = True
.ChartTitle.Text = "BMS Data Chart"
.Legend.Position = xlBottom
.Axes(xlCategory).CategoryType = xlCategoryScale
.Axes(xlCategory).TickLabelPosition = xlLow
.Axes(xlCategory).MajorTickMark = xlNone
.Axes(xlCategory).AxisBetweenCategories = False
End With
For Each srs In cWs.ChartObjects("BMS Data Chart").Chart.SeriesCollection
srs.Format.Line.Weight = 1
Next
cWs.Activate
End Sub
问题:如何为要从服务器接收的文件选择下载目录。我愿意使用php或xmlwebrequest,但是表单元素是纯HTML。
我知道有很多关于此问题的文章,并且有些人说由于浏览器安全性而无法完成,但是必须有某种方法可以让用户决定从服务器下载文件的位置?
答案 0 :(得分:1)
您可以使用glob()
循环浏览目录并获取所有扩展名。
function searchFiles($path, $extension) {
$files = [];
foreach(glob("{$path}/*.{$extension}"), GLOB_BRACE) as $file) {
$files[] = array('name' => $file, 'size' => filesize($file));
}
}
然后您可以循环浏览所有png图像并将其输出以供下载:
<?php foreach(searchFiles('/images', 'png') as $image): ?>
<a download href='/images/<?= $image['name']; ?>.png' alt='<?= $image['size']; ?>'> Download <?= $image['name']; ?> </a>
<?php endforeach; ?>