将图像上载到运行时创建的指定文件夹和子文件夹

时间:2015-07-28 04:57:24

标签: javascript php html mysql ajax

有3个数据库表,如下所示:

Table 1:
id    username    password
D1    12345       12345
D2    123456      123456

Table 2:
username    code    address    chain
12345       123     ASD        WCL
12345       1234    QWE        PNS

Table 3:
code    jobs    week    client    brand
123     J1      WK01    C1        B1
123     J2      WK01    C1        B2
123     J3      Wk01    C2        B3

当用户使用用户名和密码登录时,将显示与该特定用户名相关的代码,而不是与该特定代码相关的作业以及所有这些代码。用于显示输出的查询如下:

$sql = "SELECT * FROM tbl_store INNER JOIN tbl_job ON tbl_store.store_code = tbl_job.store_code WHERE username = '$userid'";

每个块的末尾都有一个HTML表单,如下图所示: enter image description here

我也可以预览图像。其余的代码都在下面。 PHP。

<form enctype="multipart/form-data" id="form" action="" method="post">
        <input type="file"  id="image" name="img" onChange="readURL(this);" />
        <img id="blah" src="#" alt="your image" /><br/><br/>
        <input type="button" value="upload" onclick="javascript:uploadInage();" />
    </form>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

<script>

function readURL(input) {      
        if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
            //$('#blah').attr('src', e.target.result).width(300).height(340);
             $(input).next('img').attr('src', e.target.result).width(300).height(340);
        };
        reader.readAsDataURL(input.files[0]);
    }

  }
</script>


<script type="text/javascript">
        function uploadInage()
        {
        var file_data = $('#image').prop('files')[0];   
        var form_data = new FormData();                  
        form_data.append('file', file_data);
            $.ajax({
                url: "preview1.php",
                dataType: 'text',  // what to expect back from the PHP script, if anything
                cache: false,
                contentType: false,
                processData: false,
                data: form_data,                         
                type: 'post',
                success: function (result) {
                        alert(result)

                }
            });
                </script>

上面的代码是预览图像并将其上传到服务器。 file.php:

<?php

    $imagePath = "uploads/";
    $temp = explode(".", $_FILES["file"]["name"]);

    $extension = end($temp);

    $filename = $_FILES["file"]["tmp_name"];
    echo "$filename";
    $time = time();
    move_uploaded_file($filename, $imagePath . $time . '.' . $extension);    
   echo "File Uploade";
   exit;
 ?>

我面临的问题是将图像存储到文件夹和子文件夹中: 例如:我希望将图像上传到此模式中的文件夹和子文件夹:

Client/Brand/J1/Week/Code/Client_Brand_J1_Week_Code.jpg

这是我想要添加到SESSION的代码。

while($row = mysqli_fetch_array($result)){

$target = $upload.'/'.$row['Client'].'/'.$row['Brand'].'/'.$row['jobs'].'/'.$row['store_code'].'/';
         $_SESSION[] = $target; 
}

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

这是在你move_uploaded_file的电话中。您有一个$imagePath变量,需要使用您的内容进行操作。您只需要使用一些字符串操作来构建路径,然后将其保存在$imagePath变量中。