【问题标题】:Is it possible to upload a Folder using HTML Form / PHP script是否可以使用 HTML 表单/PHP 脚本上传文件夹
【发布时间】: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 格式化 &lt;img&gt; 并将 jquery 应用于图库,但是,我如何首先使用 php 和 html 表单上传图像文件夹?

【问题讨论】:

标签: php html css upload directory


【解决方案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】:

      &lt;input type="file" webkitdirectory="" directory="" /&gt; - 这仅适用于少数/现代浏览器 - 例如 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

        【讨论】:

        • 这不允许用户上传文件夹,只能上传多个文件。
        猜你喜欢
        • 2011-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多