[Seri] - Website đồng hồ - Tạo file function và load file. Tạo hàm upload hình ảnh

723 lượt xem 2 năm trước
Tạo file function và tạo hàm upload hình ảnh

Bài này mình sẽ tạo file function và hàm upload hình ảnh 

Đầu tiên các bạn tạo cho mình file function.php nằm trong app\Helpers. Thư mục Helpers các bạn cũng tự tạo nhé

Và nội dung file function.php như sau

 if (!function_exists('upload_image'))
    {
        /**
         * @param $file [tên file trùng tên input]
         * @param array $extend [ định dạng file có thể upload được]
         * @return array|int [ tham số trả về là 1 mảng - nếu lỗi trả về int ]
         */
        function upload_image($file , $folder = '',array $extend  = array() )
        {
            $code = 1;
            // lay duong dan anh
            $baseFilename = public_path() . '/uploads/' . $_FILES[$file]['name'];

            // thong tin file
            $info = new SplFileInfo($baseFilename);

            // duoi file
            $ext = strtolower($info->getExtension());

            // kiem tra dinh dang file
            if ( ! $extend )
                $extend = ['png','jpg','jpeg','webp'];

            if( !in_array($ext,$extend))
                return $data['code'] = 0;

            // Tên file mới
            $nameFile = trim(str_replace('.'.$ext,'',strtolower($info->getFilename())));
            $filename = date('Y-m-d__').\Illuminate\Support\Str::slug($nameFile) . '.' . $ext;;
            
            // thu muc goc de upload
            $path = public_path().'/uploads/'.date('Y/m/d/');
            if ($folder)
                $path = public_path().'/uploads/'.$folder.'/'.date('Y/m/d/');

            if ( !\File::exists($path))
                mkdir($path,0777,true);

            // di chuyen file vao thu muc uploads
            move_uploaded_file($_FILES[$file]['tmp_name'], $path. $filename);

            $data = [
                'name'              => $filename,
                'code'              => $code,
                'path'              => $path,
                'path_img'          => 'uploads/'.$filename
            ];

            return $data;
        }
    }

Trong file function mình đã tạo một hàm upload_image với các thông số và mình cũng đã comment code lại nên mình không giải thích nữa nhé.

Load file 

Các bạn mở file composer.json và thêm đoạn này vào nhé

"autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "files": [
            "app/Helpers/function.php"
        ]
    },

Các bạn tìm tới chỗ autoload và thêm cái chỗ files  như trên nhé.

Bài sau mình sẽ thực hành luôn phần upload ảnh nhé

Bài viết liên quan

123code.net - Tạo cảm giác an toàn, uy tín, chất lượng đến cho mọi người

123code.net mang lại cảm giác an toàn nhất cho bạn, không làm bạn thất vọng, giúp bạn giải quyết được vấn đề đồ án tốt nghiệp ở thời điểm hiện tại và tương lai

- Đưa ra giải pháp, góp ý giúp bạn có được một đề tài đồ án tốt, phù hợp nhất

- Có nhiều tính năng mới, độc giúp thu hút, thuyết phục được giáo viên phản biện cũng như hội đồng bảo vệ đồ án

- Đúng ngày, đúng giờ, đầy đủ yêu cầu - tính năng

=> Nhanh tay đăng ký hoạc liên hệ với admin tại đây để có được một đồ án phù hợp với mình

123code.net

Bài viết nhiều người đọc

Một số gợi ý đề tài đồ án tốt nghiệp do Chatgtp support gợi ý

2023-02-11 15:32:22

Tổng hợp các đề tài đồ án tốt nghiệp khá là hay do AI gợi ý cho chúng ta

Một số tính năng mà đồ án nên có được ChatGtp gợi ý cho chúng ta

2023-02-11 12:54:01

Tổng hợp các tính năng cần có trong đồ án mà công nghệ AI ChatGtp gợi ý cho chúng ta, cùng xem nhé

Một bài giới thiệu code thuê đồ án cntt từ tác giả chatgtp

2023-02-11 11:46:40

Cũng đú đỉnh một chút nay mình thử nhờ chatgtp làm một bài content giới thiệu code thuê đồ án xem như thế nào nhé?

Hot Tổng hợp bài viết hướng dẫn cài đặt và chạy code đồ án bằng php hoạc laravel

2023-01-28 10:33:55

Tổng hợp các bài hướng dẫn cài đặt các phần mềm, ứng dụng, biến môi trường và cách run project bằng mã nguồn php laravel mới nhất

5+ mẫu slide bài tập nhóm lập trình thể hiện tính chuyên nghiệp tức thì

2023-01-06 05:42:33

Giới thiệu đến bạn 5+ các mẫu slide bài tập nhóm lập trình giúp bài báo cáo trở nên chuyên nghiệp tức thì. 123CODE hỗ trợ code bài tập nhóm chính xác, nhanh chóng

Địa chỉ lấy template slide báo cáo website bán hàng

2023-01-06 00:54:26

123code sẽ cùng bạn tham khảo địa chỉ lấy template slide báo cáo website bán hàng đầy đủ nhất

Tham khảo slide công nghệ thông tin cho đồ án tốt nghiệp

2023-01-06 00:48:25

123code cung cấp kho slide để bạn tham khảo slide công nghệ thông tin cho đồ án tốt nghiệp

Nội dung cần trình bày trong slide báo cáo đồ án

2023-01-06 00:32:17

Tham khảo một số ý tưởng tại 123code để làm slide báo cáo đồ án đẹp và ấn tượng cho bài thuyết trình như sau.

Một số nguyên tắc cần biết khi thiết kế slide đồ án

2023-01-06 00:22:15

Cùng 123code tham khảo các nguyên tắc cần tuân thủ khi thiết kế slide đồ án cho sinh viên

Kho tài liệu đồ án miễn phí năm 2022 cho sinh viên CNTT

2023-01-06 00:12:09

Cùng 123code tham khảo kho tài liệu đồ án miễn phí năm 2022 cho các sinh viên theo học ngành CNTT trong bài viết sau

Bài viết liên quan

Thay đổi mật khẩu user trong postgres
896 lượt xem 2022-08-31 13:22:06
Phân trang trong nestjs
883 lượt xem 2022-08-26 02:14:03
Hướng dẫn - Cách export CSDL từ phpmyadmin
855 lượt xem 2022-05-14 13:36:04
Đồ án website quản lý HB - Bài 9
941 lượt xem 2021-12-08 15:24:47
Đồ án website quản lý HB - Bài 8
826 lượt xem 2021-12-08 15:10:50
Đồ án website quản lý HB - Bài 7
887 lượt xem 2021-12-05 00:34:06
Đồ án website quản lý HB - Bài 6
959 lượt xem 2021-12-05 00:11:05
Đồ án website quản lý HB - Bài 5
844 lượt xem 2021-12-04 09:12:24
Đồ án website quản lý HB - Bài 4
932 lượt xem 2021-12-04 08:21:47