从下拉菜单下载文件
downloading files from a dropdown menu
我正在尝试添加一个下拉菜单,显示位于目录(上传)中的文件,并让用户选择(a)文件下载到本地计算机。我使用以下PHP代码来填充一个数组和一个伪HTML代码来生成下拉菜单,据说这是将所选文件的名称传递给JavaScript,这是强制浏览器下载文件。这里有两个问题,1-所选文件的名称(第15行)似乎没有传递给JavaScript(第23行);2-即使我强制使用文件名(第27行),我也会收到阻止下载文件的权限错误。由于我在编码方面完全没有经验,因此非常感谢我能得到的任何帮助。
.PHP:
$dirname = realpath(__DIR__ . '/..' . '/uploads');
$files = array();
$dir = opendir($dirname);
while(($file = readdir($dir)) !== false)
{
if($file !== '.' && $file !== '..' && !is_dir($file))
{
$files[] = $file;
}
}
closedir($dir);
sort($files);
$files[] = 'Select a document to download';
echo '<select name="download" class="pickupzone" onchange="myDownload(this.value)">';
for($i=0; $i<count($files); $i++)
{
echo '<option value="" selected="selected">' . $files[$i] . '</option>';
}
echo '</select>';
?>
JavaScript:
<script type="text/javascript">
function myDownload(val)
{
if (val == 'Select a document to download') return;
var link = document.createElement("a");
link.download = val;
link.href = '../uploads/';
link.click();
window.alert('downloading: ' + link + link.download);
</script>
你应该试试这个:
$dirname = realpath(__DIR__ . '/..' . '/uploads');
$files = array();
$dir = opendir($dirname);
while(($file = readdir($dir)) !== false)
{
if($file !== '.' && $file !== '..' && !is_dir($file))
{
$files[] = $file;
}
}
closedir($dir);
sort($files);
$files[] = 'Select a document to download';
echo '<select name="download" class="pickupzone" onchange="myDownload(this.value)">';
for($i=0; $i<count($files); $i++)
{
echo '<option value="' . $files[$i] . '" selected="selected">' . $files[$i] . '</option>';
}
echo '</select>';
?>
在这里,我只是在 for 循环中更新选项标签。请让我知道它是否适合您。
相关文章:
- asp.net网站文件下载历史记录
- Firefox,如何提交表单触发文件下载,但停留在网页上
- Interent Explorer中的数据URI文件下载
- 将页面上的文本替换为 jQuery 并提示文件下载
- JavaScript文件下载
- 是否可以触发文件下载到用户的浏览器
- Javascript JSON 到 Excel 文件下载
- 使用Javascript将多个文件下载为zip文件或文件夹
- 巴比伦JS-场景从本地文件下载
- 文件下载html与错误处理FileNotFound
- 使用jQuery捕获站点范围内的文件下载
- 在WinJS中将文件下载到文件系统
- JQuery启动文件下载,然后运行一个函数
- 文件下载无法在firefox上运行
- 创建文件下载js
- 如何使用JQuery禁用pdf文件下载选项
- 使用JavaScript/Jquery创建文本文件下载/更新到本地客户端机器中的特定位置
- CollectionFS中是否存在用于文件下载的事件侦听器/回调
- 文件下载后,Document Ready无法工作
- 浏览器不生成文件下载对话框