簡體   English   中英

如何將多個圖像路徑存儲在一個數組中以將值存儲在數據庫中的一行中,以便為php上傳多個圖像

[英]how to store multiple image path in one array to store in database the value in a single row for multiple images uploads for php

如何在一個數組中存儲多個圖像路徑以在數據庫中為php上傳多個圖像上傳的值存儲在一行中,我想將路徑存儲在數組中,並且該數組將在單個行中存儲不同的路徑

<html xmlns="http://www.w3.org/1999/xhtml">
    <body>

    <?php

class Upload_Rename
{
    const ALLOWED_TYPES = "jpg,gif,png";
    public static function generate_new_name($extension, $uppercase = true, $prefix = '', $sufix = '')
    {
        $new_name = $prefix . uniqid() . '_' . time() . $sufix;
        return ($uppercase ? strtoupper($new_name) : $new_name) . '.' . $extension;
    }

    public static function check_and_get_extension($file)
    {
        $file_part     = pathinfo($file);
        $allowed_types = explode(",", Upload_Rename::ALLOWED_TYPES);
        if (!in_array($file_part['extension'], $allowed_types)) {
            throw new Exception('Not ok.. bad bad file type.');
        }
        return $file_part['extension'];
    }

    public function upload($file, $target_destination)
    {
        if (!isset($file['tmp_name'])) {
            throw new Exception('Whaaaat?');
        }
        $_name          = $file['name'];
        $_tmp           = $file['tmp_name'];
        $_type          = $file['type'];
        $_size          = $file['size'];
        $file_extension = '';
        try {
            $file_extension = Upload_Rename::check_and_get_extension($_name);
        }
        catch (Exception $e) {
            throw new Exception('Ops.. file extension? what? ' . $e->getMessage());
        }
        $new_name    = Upload_Rename::generate_new_name($file_extension, true, 'whaat_', '_okey');
        $destination = $target_destination . DIRECTORY_SEPARATOR . $new_name;
        move_uploaded_file($_tmp, $destination);
        return $destination;
    }

    public function multiple_files($files, $destination)
    {
        $number_of_files = isset($files['tmp_name']) ? sizeof($files['tmp_name']) : 0;
        $errors          = array();
        $paths           = array();
        for ($i = 0; $i < $number_of_files; $i++) {
            if (isset($files['tmp_name'][$i]) && !empty($files['tmp_name'][$i])) {
                try {
                    $path    = $this->upload(array(
                        'name' => $files['name'][$i],
                        'tmp_name' => $files['tmp_name'][$i],
                        'size' => $files['size'][$i],
                        'type' => $files['type'][$i]
                    ), $destination);
                    $paths[] = $path;
                }
                catch (Exception $e) {
                    array_push($errors, array(
                        'file' => $files['name'][$i],
                        'error' => $e->getMessage()
                    ));
                }
            }
        }
        return $paths;
    }

}

if ($_FILES) {
    $upload      = new Upload_Rename();
    $destination = 'upload';
    $paths       = $upload->multiple_files($_FILES['myfile'], $destination);

    //Fill this with correct information
    $mysql_hostname = "";
    $mysql_user     = "";
    $mysql_password = "";
    $mysql_database = "";
    $tbl_name       = "test";
    $pathfield_name = 'path';
    //
    $con            = mysql_connect("localhost", "root", "");
    myesql_select_db("db1", $con);
    foreach ($paths as $path) {
        $query = 'INSERT INTO `' . $tbl_name . '` (`' . $pathfield_name . '`) VALUES ("' . $mysql->escape_string($path) . '");';
        mysql_query($query);
    }
    $mysql_close($con);
}
?>

    <form  method="post" enctype="multipart/form-data">
    <?php
for ($i = 0; $i < 10; $i++):
?>
   file: <input type="file" name="myfile[]"><br>
    <?php
endfor;
?>
   <input type="submit">
    </form>
    </body>
    </html>
    Hope this one will help you.


if (isset($_FILES['filetoupload']['name'])) {
        $file_name_all = "";
        $randomString = "";

        for ($i = 0; $i < count($_FILES['filetoupload']['name']); $i++) {

            $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            for ($j = 0; $j < 7; $j++) {
                $randomString .= $characters[rand(0, strlen($characters) - 1)];
            }

            $tmpFilePath = $_FILES['filetoupload']['tmp_name'][$i];
            if ($tmpFilePath != "") {
                $path = "../views/uploads/";
                $name = $_FILES['filetoupload']['name'][$i];
                // $size = $_FILES['filetoupload']['size'][$i];

                list($txt, $ext) = explode(".", $name);
                //$file= time().substr(str_replace(" ", "_", $txt), 0);
                $file = $randomString . substr(str_replace(" ", "_", $txt), 0);
                $info = pathinfo($file);
                $filename = $file . "." . $ext;
                if (move_uploaded_file($_`if (isset($_FILES['filetoupload']['name'])) {
        $file_name_all = "";
        $randomString = "";

        for ($i = 0; $i < count($_FILES['filetoupload']['name']); $i++) {

            $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            for ($j = 0; $j < 7; $j++) {
                $randomString .= $characters[rand(0, strlen($characters) - 1)];
            }

            $tmpFilePath = $_FILES['filetoupload']['tmp_name'][$i];
            if ($tmpFilePath != "") {
                $path = "../views/uploads/";
                $name = $_FILES['filetoupload']['name'][$i];
                // $size = $_FILES['filetoupload']['size'][$i];

                list($txt, $ext) = explode(".", $name);
                //$file= time().substr(str_replace(" ", "_", $txt), 0);
                $file = $randomString . substr(str_replace(" ", "_", $txt), 0);
                $info = pathinfo($file);
                $filename = $file . "." . $ext;
                if (move_uploaded_file($_FILES['filetoupload']['tmp_name'][$i], $path . $filename)) {
                    $file_name_all.=$filename . "*";
                }
            }
        }

        $finalFileNames = rtrim($file_name_all, '*'); //imagepath if it is present  
        $insertMsgImages = mysql_query("insert into conversation_messages_tbl(postedby_userid,topic_id,message,image,posted_timestamp,upload_img,is_active,member_id) values('$user_id','$topic_id','$message','$finalFileNames','$posted_timestamp','$finalFileNames','1','$member_id')");
    }`FILES['filetoupload']['tmp_name'][$i], $path . $filename)) {
                    $file_name_all.=$filename . "*";
                }
            }
        }

        $finalFileNames = rtrim($file_name_all, '*'); //imagepath if it is present  
        $insertMsgImages = mysql_query("insert into conversation_messages_tbl(postedby_userid,topic_id,message,image,posted_timestamp,upload_img,is_active,member_id) values('$user_id','$topic_id','$message','$finalFileNames','$posted_timestamp','$finalFileNames','1','$member_id')");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM