javascript - 将 PHP Div 值读入 $variable 并在 Javascript 中将上传文件的文件名读入数组

标签 javascript php jquery html mysql

我有几个问题:

第 1 部分:我有一个带有 id="hiddenID"div。我想在现有主文件夹 sobimages 下创建一个具有此 ID 的子文件夹(如果子文件夹不存在)。

然后将文件写入这个新的子文件夹。

注意:没有子文件夹也能正常工作!

第 2 部分:上传的文件始终留下名称和成功信息。我想从屏幕上删除此消息,包括已上传文件的名称。

第 3 部分:读取简单 Javascript 数组中的所有文件名。然后我将使用 MySql-Databse 中的 Json 来保护它。经过你的大力帮助。我知道怎么做了,呵呵

文件 body_editarticles.php

        <?php session_start();

            $_db_host = "myserver.com:3306";
            $_db_username = "admin0";
            $_db_passwort = "star1dgffh";
            $_db_datenbank = "sob";
            $_db_currentID ="";

            # Verbindung zur Datenbank herstellen
            $_link = mysql_connect($_db_host, $_db_username, $_db_passwort);

            # Pr�fen ob die Verbindung geklappt hat
            if (!$_link)
            {
                # Nein, also das ganze Skript abbrechen !
                die("Keine Verbindung zur Datenbank m�glich: " .
                    mysql_error());
            }

            # Datenbank ausw�hlen
            mysql_select_db($_db_datenbank, $_link);

        ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

        <head>

            <meta charset="UTF-8" />

            <link rel="stylesheet" type="text/css" href="css/style.css">

            <script type="text/javascript" src="js/scroll.js"></script>

            <script type="text/javascript" src="js/jquery.js" ></script>

            <script type="text/javascript" src="js/jquery.uploadfile.min.js"></script>


        </head>

        <body class="page page-id-11505 page-template-default" onload="jsRecordCurrent();">

        <div id="page-wrap">

        <?php
        include('includes/header.html');
        ?>

        <div id="hiddenID" style="display: none;"></div>


        <div id="mulitplefileuploader" title="">
            <br>
            Upload
        </div>
        <div id="status"></div>

            <script>

            $(document).ready(function()
            {

                var settings = {
                    url: "upload.php",
                    method: "POST",
                    allowedTypes:"jpg,png,gif",
                    fileName: "myfile",
                    multiple: true,
                    onSuccess:function(files,data,xhr)
                    {
                        $("#status").html("<font color='green'>Upload successful</font>");
                    },
                    onError: function(files,status,errMsg)
                    {
                        $("#status").html("<font color='red'>Upload failed</font>");
                    }
                }
                $("#mulitplefileuploader").uploadFile(settings);

            });

            </script>

        </div>

        </div>

        </div>

            <div id="aside">

            </div>

            <br class="clearfloat" />
        </div> <!-- End of main container -->

        </div><!-- END Page Wrap -->

        <div id="footer">
            <br class="clearfloat" />

        </div>

        </body>

        </html>

文件“upload.php”

        <?php

        //If directory doesnot exists create it.
        $output_dir = "sobimages/";

        if(isset($_FILES["myfile"]))
        {
            $ret = array();

            $error =$_FILES["myfile"]["error"];
            {

                if(!is_array($_FILES["myfile"]['name'])) //single file
                {
                    $fileName = $_FILES["myfile"]["name"];
                    move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
                    //echo "<br> Error: ".$_FILES["myfile"]["error"];

                    $ret[$fileName]= $output_dir.$fileName;
                }
                else
                {
                    $fileCount = count($_FILES["myfile"]['name']);
                    for($i=0; $i < $fileCount; $i++)
                    {
                        $fileName = $_FILES["myfile"]["name"][$i];
                        $ret[$fileName]= $output_dir.$fileName;
                        move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName );
                    }

                }
            }
            echo json_encode($ret);

        }

最佳答案

您可以在写入文件之前使用 mkdir 递归地创建文件夹和子文件夹:

mkdir($path, 0777, true);

注意第三个参数,表示递归

请参阅 mkdir 文档:http://php.net/manual/en/function.mkdir.php

关于javascript - 将 PHP Div 值读入 $variable 并在 Javascript 中将上传文件的文件名读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30883804/

相关文章:

javascript - 使用 jquery 或 javascript 实时更改输入值

javascript - .off 不适用于回调

phpMyadmin 错误 2002 LEMP 堆栈

php - 从文件夹中获取所有照片并使用 PHP 分页

jquery - 向下滚动 100% 屏幕高度后更改 CSS 类

javascript - 尝试使用 jQuery 独立显示/隐藏多个列表

javascript - 如何在一个 gulp 任务中运行多个操作?

javascript - 范围错误: Maximum call stack size exceeded - Google Maps Api

javascript - map() 不保存新元素

php - 如何在 Symfony 2 中重新加载 Twig 缓存