How to Upload Complete Zip File of Code to Website

Indonesian (Bahasa Indonesia) translation by Anthoni Hermanto (you lot can likewise view the original English article)

ThemeForest memiliki fitur yang bagus; yaitu memperbolehkan penulis untuk mengupload file zippo yang terdiri dari screenshot dari temanya. Script tersebut kemudian diekstrak dan menunjukkan gambar yang sesuai. Walaupun saya ragu kalau developer menggunakan PHP untuk menyelesaikan tugas ini...itulah apa yang akan kita gunakan!

Apa yang Harus Kita Lakukan

  • Buat grade upload simple yang membolehkan pengguna untuk memilih file zip.
  • Pastikan kalau pengguna memilih file aught, dan kemudian simpan sebagai file unik.
  • Ekstrak konten dari file zip dan simpan ke dalam folder spesifik.
  • Hapus file nil dan kemudian echo kontennya.

Langkah 1: Membuat Form Upload

Upload Form

  • Buat file baru dan simpan sebagai index.html pada root dari solusi Anda.
  • Berikutnya, kita akan membuat form unproblematic. Paste berikut ini ke dalam.

Jika Anda akan mengizinkan pengguna untuk mengupload file, anda harus men set "enctype" dari tag form menjadi "multipart/form-data". Kemudian kita akan men set activity ke halaman yang sama dan method ke mail.

Form HTML Form HTML Form HTML

Untuk menjaga semua agar tetap seramping mungkin, kita hanya perlu file input dan tombol submit. Catatan jika kita telah mengatur nama file input menjadi "fupload". Kita akan sesegera mungkin menggunakan nilai ini untuk menentukan halaman telah melakukan post kembali.

Langkah 2: Menulis PHP

Pada bagian paling atas dari halaman index.php Anda, sebelum doctype telah dideklarasikan, tempelkan berikut ke dalam:

Mari ambil selangkah demi selangkah.

  • Jika tag input dengan nama "fupload" telah diatur, maka jalankan kode berikut, selain itu, jangan lakukan apapun.
  • Sekarang kita perlu membuat sedikit variabel. Kita perlu mengambil nama dari file yang diunggah, direktori di mana file disimpan sementara, dan jenis file yang dipilih.

Mari asumsikan bahwa pengguna memilih file yang disebut "myPics.zip".

  • $_FILES['fupload']['proper name'] = "myPics.nada"
  • $_FILES['fupload']['tmp_name'] = direkotri sementara pada server.
  • $_FILES['fupload']['type'] = "awarding/zip". (Nilai ini dapat berubah tergantung dari browser mana file diupload)

Contents of the FILES global array Contents of the FILES global array Contents of the FILES global array

Berikutnya, mari bagi nama file menjadi dua: namanya, dan ekstensinya.

Lanjutkan dengan contoh kita file "myPics.aught" - $name[0] akan sama dengan "myPics". $proper name[1] akan sama dengan "zip".

Berikutnya, kita akan membuat variabel baru yang disebut "$target". Ini akan menjadi lokasi tempat file kita akan disimpan. Untuk memastikan kalau pengguna lain dengan nama "myPics" yang sama tidak tertimpa, maka kita harus memastikan kalau kita menyimpan file ke dalam lokasi yang unik. Untuk menyelesaikan tugas, kita akan mengimplementasikan fungsi "time()". Jika kita membubuhkan nilai ini kedalam nama file yang telah diupload, kita dapat yakin kalau kita akan berakhir dengan nama binder yang berbeda!

$target = "extracted/myPics-02151985/"

Langkah iii: Pastikan Kalau File Zip Telah Terpilih

Sesegera mungkin menuju variabel $target Anda, tempelkan berikut:

  • Kita mulai dengan membuat array bernama $accepted_types. Pencarian cepat Google untuk "cypher mimpe types" akan membawakan kita empat nilai: 'application/zip','application/z-null-compressed','multipart/x-nix','application/s-compressed'. Setiap browser memiliki cara tersendiri untuk mendaftarkan jenis file. Kita harus pastikan setiap nilai dari instansi.
  • Untuk melakukan hal tersebut, kita mengecek untuk melihat jika ada item pada array kita yang memiliki nilai sama dengan "$_FILES['fupload']['type']. Jika mereka memilikinya, kita akan mengatur variabel "$okay" menjadi "true" - dan dapat berpisah dari statemen 'for' dan memastikan sisanya bahwa pengguna telah memilih file zilch.

Sayangnya, Safari dan Chrome tidak mendaftarkan zip file. Ini menimbulkan masalah untuk kita. Setelah sedikit penelitian, saya tidak dapat menemukan solusi yang mudah - tanpa menggunakan ekstensi (PEAR). Sebagai gantinya, kita akan memastikan kalau nama file paling tidak berakhir dengan "cipher". Seharusnya perlu dicatat jika ini tidak 100% aman. Bagaimana jika pengguna mengunggah jenis file yang berbeda yang berakhiran 'null'? Silahkan tawarkan rekomendasi! :)

  • Kita akan menggunakan operator ternary untuk menjaga statemen ini sesuai garis. Jika ekstensi dari nama file ($name[1]) sama dengan 'cipher', kita akan mengatur $okey ke true. Selain itu, itu akan sama dengan 'imitation'.

Berikutnya, kita akan mengecek untuk melihat jika $okay itu fake. Jika ya, kita tahu kalau file 'zip' tidak dipilih. Pada kasus tersebut, kita akan menghentikan PHP.

Langkah 4: Menyimpan File Zip

  • Pertama kita akan perlu membuat direktori yang kita referensikan dengan variabel $target kita. Ini dapat dengan mudah diselesaikan dengan fungsi "mkdir"
  • Berikutnya, mari coba memindahkan file yang diunggah, dari direktori sementara, ke direktori $target. Jika prosedur itu dapat dilakukan dengan sukses, kita akan memanggil fungsi "openZip".

Langkah 5: Fungsi openZip()

Buat halaman baru dan simpan itu sebagai "role.php". sekarang tambahkan kode berikut:

Upload Form

Fungsi ini akan menerima satu parameter: $file_to_open. Parameter ini akan mengandung lokasi dari file zippo yang sedang kita coba ekstrak!

Ingat - kita telah membuat file baru 'function.php', tetapi kita perlu memasukannya! Bubuhkan berikut ke bagian atas halaman 'alphabetize.php' Anda, segera setelah pembuka tag PHP.

Echo kontennya

Echoing out the contents

Apa  yang kita miliki sejauh ini bekerja dengan sempurna! Tetapi, untuk memberi Anda umpan balik, mari pindai direktori yang baru dan echo kontennya. Anda seharusnya menghapus blok kode berikut dari proyek anda. Ini hanya untuk menguji. Jika anda ingin menahannya, echo informasinya keluar dalam tag body.

Saya tidak akan membahas bagian ini terlalu banyak - karena itu tidak perlu. Bagaimanapun, jika anda ingin penjelasan penuh, pastikan menonton screencast terkait! Untuk menyimpulkannya dengan cepat, script terakhir memindai direktori baru kita dan melakukan echo pada daftar tak berurut yang mengandung konten.

Selesai

Tidak terlalu sulit, bukan? Ini fitur rapih yang bisa dengan mudah diimplementasikan pada proyek anda. Apa yang anda pikirkan untuk keamanan ketika tiba saatnya mengunggah file nothing? Bagaimana Kita bisa yakin kalau file zip tersebut tidak membahayakan? Saya ingin mendengar pendapat semuanya tentang implikasi keamanan. Jika tidak ditangani dengan benar, peretas dapat membahayakan server. Mari diskusikan hal itu! Ini memungkinkan mencari jenis file yang berbahaya (file .htaccess) dan menghapusnya.

Halaman akhir Index.php.

  • Berlangganan pada NETTUTS RSS Feed untuk lebih banyak tus spider web development dan artikel.

herzogaredle88.blogspot.com

Source: https://code.tutsplus.com/id/articles/how-to-open-zip-files-with-php--net-2289

0 Response to "How to Upload Complete Zip File of Code to Website"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel