是否可以使用 HTML 表单/PHP 脚本上传文件夹
Posted
技术标签:
【中文标题】是否可以使用 HTML 表单/PHP 脚本上传文件夹【英文标题】:Is it possible to upload a Folder using HTML Form / PHP script 【发布时间】:2014-03-29 06:29:24 【问题描述】:我正在开发一个网站,将多张图片上传到一个网站,我正在尝试可以做到这一点的方法。目前我有一个 php 脚本,它将从给定文件夹中获取和显示图像,如下所示:
<?php
$dirname = "content/2014/February/";
$images = glob($dirname."*.*");
foreach($images as $image)
echo '<img src="'.$image.'" /><br />';
?>
这很好用,我可以使用 css 格式化 <img>
并将 jquery 应用于图库,但是,我如何首先使用 php 和 html 表单上传图像文件夹?
【问题讨论】:
How to upload folder with PHP?的可能重复 【参考方案1】:是的,这是可能的。 代码如下:
<form method="post" enctype="multipart/form-data" action="#">
Folder Name: <input type="text" name="foldername" /><br/>
Choose Directoryy: <input type="file" name="files[]" id="files" multiple directory="" webkitdirectory="" mozdirectory=""><br/>
<input class="button" type="submit" value="Upload" name="upload" />
</form>
<?php
if(isset($_POST['upload']))
if($_POST['foldername']!="")
$foldername=$_POST['foldername'];
if(!is_dir($foldername))
mkdir($foldername);
foreach($_FILES['files']['name'] as $i=>$name)
if(strlen($_FILES['files']['name'][$i]) > 1)
move_uploaded_file($_FILES['files']['tmp_name'][$i],$foldername.'/'.$name);
echo "Folder is uploaded successfully ..";
else
echo "Folder uploaded Failed!!";
?>
【讨论】:
【参考方案2】:现在可以上传文件夹了。您可以通过以下代码完成它:
<input type="file" webkitdirectory mozdirectory />
您可以在这里查看演示:https://jsfiddle.net/kevalpadia/vk6Ldzae/
希望它能帮助您解决问题。
【讨论】:
【参考方案3】:<input type="file" webkitdirectory="" directory="" />
- 这仅适用于少数/现代浏览器 - 例如 Edge 或 Webkit 引擎 (Chrome)。我认为 Firefox 不支持。
【讨论】:
从 v50.0 和 MS edge 开始,它现在也得到了 firefox 的正式支持。就在有人四处张望的时候。【参考方案4】:所有浏览器不支持当前答案。
您不能上传整个文件夹。
currently only chrome supports it
还有要上传很多文件http://www.uploadify.com/
【讨论】:
感谢您的信息。 Uploadify 的问题在于它仅用于非商业用途,我发现在我的 XP 机器上使用 Chrome 会导致蓝屏。我将不得不考虑另一种方式来解决这个问题 @user3177012 蓝屏总是是操作系统问题(操作系统、驱动程序等)。 Chrome 或任何应用程序都可能崩溃,您的操作系统可能会提供错误消息、警告、事件日志或其他任何内容,但崩溃不是可接受的选项,而是操作系统或驱动程序错误 当前答案是哪一个?!?没有任何内容被接受。【参考方案5】:试试这个 PHP 脚本:
主要网站: http://www.uploadify.com/
文档: http://www.uploadify.com/documentation/
【讨论】:
【参考方案6】:你可以使用 HTML5 的
<input type="file" multiple>
关于在 PHP 中处理上传,请在此处阅读更多内容: http://php.net/manual/en/features.file-upload.post-method.php
【讨论】:
这不允许用户上传文件夹,只能上传多个文件。以上是关于是否可以使用 HTML 表单/PHP 脚本上传文件夹的主要内容,如果未能解决你的问题,请参考以下文章