Cara mengunggah banyak gambar di php menggunakan for loop

Pengunggahan file adalah aspek penting dari proyek apa pun. Mengingat pentingnya hal ini, mengejutkan bahwa banyak pengembang menghadapi tantangan untuk menambahkan fitur pengunggahan file ke proyek mereka. Secara khusus, pengembang tidak yakin tentang cara mengunggah dan memvalidasi file

Dalam tutorial ini, saya akan membahas bagaimana mengimplementasikan fungsi upload file Laravel dengan opsi upload banyak file dan gambar. Saya akan menggunakan folder penyimpanan Laravel dan kemudian membuat catatan database untuk mengunggah file. Saya akan menggunakan Laravel 5. 5 dan Bootstrap untuk menjalankan kode tutorial ini

Anda mungkin juga suka. Upload File PHP dengan jQuery AJAX

Prasyarat

Untuk tujuan tutorial ini, saya berasumsi bahwa Anda telah menginstal aplikasi Laravel di server web. Pengaturan saya adalah

  • Lingkungan Linux/Unix atau WAMP/XAMPP
  • Laravel 5. 5
  • PHP 7. 1
  • MySQL
  • Server web (Apache, NGINX atau server web PHP terintegrasi untuk pengujian)

Saya telah menginstal aplikasi Laravel di server Laravel yang dikelola Cloudways karena memiliki semua yang saya perlukan untuk tutorial ini. Jika Anda tidak memiliki akun di Cloudways, daftar gratis, dan lihat GIF berikut untuk menyiapkan server dan aplikasi hanya dengan beberapa klik

Cara mengunggah banyak gambar di php menggunakan for loop

Buat Model dengan Migrasi

Saya akan mulai dengan membuat model dan tabel tempat saya akan menyimpan file

Luncurkan terminal SSH, buka folder root publik aplikasi dan ketik perintah berikut

php artisan make:model Item -m
php artisan make:model ItemDetails -m

Model Barang

Saat migrasi dan model berhasil dibuat, buka app/Item. php dan tambahkan kode Model berikut ke dalamnya

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_

Detail Model Barang

Model terdiri dari kode berikut

belongsTo('App\Item');

}

}

?>

Dalam kode di atas, saya menggunakan milik karena itemDetails milik tabel Item dan item_id adalah kunci asing. Ini dikenal sebagai hubungan terbalik di Laravel

Migrasi Tabel ItemDetails

Buka folder database/migrasi dan buka file migrasi untuk detail item. Anda akan melihat struktur default yang menyertakan id , name. cap waktu

increments('id');

$table->integer('item_id')->unsigned();

$table->foreign('item_id')->references('id')->on('items');

$table->string('filename');

$table->timestamps();

});

}

public function down()

{

Schema::drop('item_details');

}

}

?>

Selanjutnya, Di app/Providers/AppServiceProvider. php, metode boot menetapkan panjang string default

use Illuminate\Support\Facades\Schema;

public function boot()

{

Schema::defaultStringLength(191);

}
_

Konfigurasi Basis Data

Dalam aplikasi bertenaga Laravel, konfigurasi database ditangani oleh dua file. env dan config/database. php. Dalam kasus saya, saya membuat database dengan nama upload. Manajer Basis Data Cloudways membuat seluruh proses menjadi sangat mudah

Selanjutnya, jalankan perintah berikut di terminal untuk membuat tabel di database

php artisan migrasi

Sekarang, saat Anda memeriksa database, Anda akan melihat bahwa tabel telah berhasil dibuat

Anda mungkin juga suka. Hubungkan Laravel dengan Firebase Real Time Database

Siapkan Rute

Rute menetapkan URL aplikasi dan metode pengontrol untuk URL ini. Rute terletak di route/web. php dan berisi kode berikut

Route::get('/multiuploads', '[email protected]');

Route::post('/multiuploads', '[email protected]');

Berhenti Membuang Waktu di Server

Cloudways menangani manajemen server untuk Anda sehingga Anda dapat berfokus pada pembuatan aplikasi hebat dan membuat klien Anda senang

Buat Pengontrol

Selanjutnya, buat Controller dengan menggunakan perintah berikut

pembuatan tukang php. pengontrol UploadController

Selanjutnya, buka app/Http/Controller/UploadController dan buka file Controller. Tambahkan kode berikut ke dalamnya

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadController extends Controller

{

public function uploadForm()

{

return view('upload_form');

}

public function uploadSubmit(Request $request)

{

// coding ….

}

}
_

Lihat File (Unggah_form. Pedang. php)

Dalam file tampilan, saya telah menggunakan Bootstrap untuk menata kode, tautan stylesheet, jQuery, file JavaScript












Laravel Uploading



















@if (count($errors) > 0)

    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach

@endif

Laravel Multiple File Uploading With Bootstrap Form


{{ csrf_field() }}

Product Name

Product photos (can attach more than one):


Saya telah menggunakan kelas Bootstrap untuk menampilkan peringatan untuk validasi dan menggunakan metode Validasi Laravel untuk memvalidasi jenis file. Gunakan kode berikut untuk controller

validate($request, [

'name' => 'required',

'photos'=>'required',

]);

if($request->hasFile('photos'))

{

$allowedfileExtension=['pdf','jpg','png','docx'];

$files = $request->file('photos');

foreach($files as $file){

$filename = $file->getClientOriginalName();

$extension = $file->getClientOriginalExtension();

$check=in_array($extension,$allowedfileExtension);

//dd($check);

if($check)

{

$items= Item::create($request->all());

foreach ($request->photos as $photo) {

$filename = $photo->store('photos');

ItemDetail::create([

'item_id' => $items->id,

'filename' => $filename

]);

}

echo "Upload Successfully";

}

else

{

echo '

Warning! Sorry Only Upload png , jpg , doc

'; } } } } }?>
_

Menyimpan Data dan File di Laravel

Laravel menyediakan sistem file penyimpanan yang menyimpan semua data termasuk file dan gambar

Untuk ini, Laravel menyediakan config/filesystems. php, terletak di folder config. Dalam file ini, Anda dapat menentukan lokasi penyimpanan file Anda

return [

'default' => 'local',

'disks' => [

'local' => [

'driver' => 'local',

'root' => storage_path('app'),

],

// ...
_

Dengan menggunakan cuplikan kode di atas, Anda dapat menyimpan file di folder app/storage alih-alih folder publik. Ini adalah praktik pengkodean yang baik untuk menyimpan data karena lokasi ini tidak dapat diakses dari browser. Untuk keperluan tutorial ini, saya telah membuat folder dengan nama photos in storage/app/.

Saat menjalankan aplikasi di browser, Anda akan melihat layar berikut

Cara mengunggah banyak gambar di php menggunakan for loop

Dengan Validasi

Cara mengunggah banyak gambar di php menggunakan for loop

Cara mengunggah banyak gambar di php menggunakan for loop

Cara mengunggah banyak gambar di php menggunakan for loop

Untuk melihat gambar dan unggahan file di Laravel beraksi, lihat demo

Perbedaan Antara Disk Lokal dan Publik

Anda dapat melihat disk lokal dan publik ditentukan di config/filesystems. php. Laravel menggunakan konfigurasi disk lokal secara default. Perbedaan mendasar antara disk lokal dan publik adalah bahwa disk lokal bersifat pribadi dan tidak dapat diakses dari browser, sedangkan disk publik dapat dengan mudah diakses dari browser.

Karena disk publik ada di penyimpanan/aplikasi/publik dan root server Laravel ada di publik, Anda perlu menautkan penyimpanan/aplikasi/publik ke folder publik Laravel. Kita bisa melakukannya dengan menjalankan php artisan storage. tautan

Memanipulasi file

Laravel sangat membutuhkan bantuan eksternal dalam mengubah ukuran gambar, menambahkan filter, dan operasi terkait lainnya. Menambahkan fitur ini ke lingkungan asli Laravel hanya akan membuat aplikasi membengkak karena tidak diperlukan instalasi apa pun. Untuk itu, kita memerlukan sebuah paket bernama intervensi/gambar. Sebelumnya di atas, kita telah menginstal paket ini, tetapi tetap saja composer membutuhkannya untuk referensi

Kami tidak perlu mendaftarkan apa pun karena Laravel dapat mendeteksi paket secara otomatis. Baca yang berikut jika Anda menggunakan versi yang lebih rendah dari Laravel 5. 5

Untuk mengubah ukuran gambar

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_0

Bahkan paket Laravel lancar

Mengirim File sebagai Lampiran Email

Untuk mengirim file dengan lampiran Anda cukup menempelkan kode berikut di pengontrol Anda sesuai dengan kolom input

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_1

Buat kelas pengirim email

Untuk mengirim email di Laravel, Anda perlu membuat file kelas terpisah. Kelas ini akan memiliki fungsi untuk menyiapkan email dan badannya. Kami juga akan melampirkan file yang diunggah sebagai lampiran sebaris

Inilah kelas email saya

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_2

Fungsi penting yang digunakan di sini adalah

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_3

Buat templat email

Pada langkah di atas, kelas email kami mengacu pada template email sebagai return $this->view('emails/upload'). Jadi kita akan membuat template email di resources/views/emails/upload. Pedang. php

Create the Migration

Go to the database/migration folder and open the migration file for item. You will see the default structure that include (in my case) id , name, timestamps.

increments('id');

$table->string('name');

$table->timestamps();

});

}

public function down()

{

Schema::drop('items');

}

}?>
_4

Sekarang ketika Anda mengirimkan formulir, file yang Anda unggah akan dikirimi lampiran email

Tinjauan Pelanggan di

Cara mengunggah banyak gambar di php menggunakan for loop

“Cloudways hosting memiliki salah satu layanan pelanggan dan kecepatan hosting terbaik”

Sanjit C [Pengembang Situs Web]

Shahzeb Ahmad

Shahzeb adalah Pemasar Digital dengan latar belakang Rekayasa Perangkat Lunak, bekerja sebagai Manajer Komunitas — Komunitas PHP di Cloudways. Dia berambisi untuk berkembang dan bertujuan untuk mempelajari & berbagi informasi tentang Pengembangan PHP & Laravel melalui latihan dan eksperimen. Dia suka bepergian dan mengeksplorasi ide-ide baru setiap kali dia menemukan waktu. Hubungi dia di [email protected]

Bagaimana cara mengunggah banyak gambar sekaligus di PHP?

Unggah Banyak File dalam PHP (unggah. .
Sertakan file konfigurasi database untuk menghubungkan dan memilih database MySQL
Dapatkan ekstensi file menggunakan fungsi pathinfo() di PHP dan periksa apakah pengguna hanya memilih file gambar
Unggah gambar ke server menggunakan fungsi move_uploaded_file() di PHP

Bagaimana cara mengunggah banyak gambar dalam PHP menggunakan foreach loop?

php if(isset($_FILES['file'])). $validextensions = array("jpeg", "jpg", "png"); . $sementara = meledak(". ", $_FILES["file"][$k]["nama"]); $ekstensi_file = end($sementara); if ((($_FILES["file"][$k]["type"] = . ($_FILES["file"][$k]["type"] == "gambar/jpg"). ($_FILES[

Bagaimana cara melihat beberapa gambar sebelum mengunggah dalam PHP?

Langkah 1. Buat file HTML dan tentukan markup dan scripting. Pada langkah ini kita membuat form untuk mengupload dan mempratinjau banyak gambar lalu kita membuat tag file dan menambahkan 'multiple' yang memungkinkan untuk memilih beberapa gambar dan melampirkan event onchange untuk memanggil fungsi preview_image() ke . ...

Bagaimana cara menambahkan banyak file di PHP?

Redis dan PHP .
Nama input harus didefinisikan sebagai array i. e. nama="masukanNama[]"
Elemen input harus memiliki banyak = "banyak" atau hanya banyak
Dalam file PHP, gunakan sintaks "$_FILES['inputName']['param'][index]"
Nama dan jalur file kosong harus diperiksa karena array mungkin berisi string kosong