Bagaimana saya bisa mengunggah file php secara online?

PHP adalah salah satu bahasa pemrograman paling populer untuk menangani aplikasi sisi server dari situs web dan layanan web. Ini mencakup semua fungsi untuk mengunggah, memvalidasi, dan memverifikasi file yang diunggah dari sisi klien. Skrip unggah file dapat dibuat dalam waktu kurang dari 5 menit

Dengan sedikit usaha, Anda dapat membuat skrip server yang, misalnya, memungkinkan pengguna mengunggah gambar profil ke situs web Anda dan menumpuknya dalam satu folder. Pengunggah itu sendiri relatif mudah, tetapi tugas lain, seperti pengiriman file cepat ke mesin klien melalui CDN, atau menambahkan tanda air ke unggahan gambar, akan membutuhkan solusi yang lebih kompleks

Dalam artikel ini, kami akan membahas dua opsi berikut dan mengungkap pro dan kontranya

  • Unggah file ke server Anda sendiri dan buat skrip unggahan server PHP dari awal
  • Gunakan layanan seperti Uploadcare via PHP yang menangani pengunggahan, penyimpanan, dan pengiriman file melalui CDN (AWS)

Jika Anda perlu membuat pengunggah file dasar dan Anda tidak mengharapkan ribuan file gambar membanjiri penyimpanan server Anda dari pengguna di seluruh dunia, lakukan sendiri. Selain itu, solusi ini bagus untuk tugas pengunggahan yang sangat spesifik dan sistem tertutup (bank, pertahanan, dan fasilitas pemerintah) dengan kebijakan ketat yang tidak mengizinkan outsourcing pengunggahan file ke layanan pihak ketiga

  • Kontrol penuh atas proses pengunggahan
  • Sederhana (atau tidak, tergantung kebutuhan Anda)
  • Solusi gratis (asalkan biaya pengembangan gratis di pihak Anda)

  • Membutuhkan banyak waktu untuk membuat dan menyesuaikan pengunggah PHP (validasi, pemrosesan)
  • Lebih banyak waktu untuk membuat layanan yang dapat menahan beban tinggi dan mencegah kesalahan
  • Pengiriman file lebih lambat, karena tidak ada CDN yang terlibat. Menyiapkan pengunggah CDN adalah tugas lain yang tidak akan dibahas dalam artikel ini
  • Butuh sumber daya tambahan untuk mendukung dan memelihara skrip di masa mendatang
  • Tidak berfungsi untuk aplikasi seluler di luar kotak (perlu menjembatani lebih lanjut dengan arsitektur aplikasi Anda)
  • Masalah keamanan — peretas menyukai skrip buatan sendiri

Untuk mengikuti artikel ini, Anda harus memiliki server web (Apache, nginx, dll. ) dengan salah satu versi PHP terbaru yang diinstal (versi 7. x menyertakan beberapa peningkatan Sesi dan CURL terkait pengunggahan file)

Pastikan bahwa php. file konfigurasi ini memungkinkan pengunggahan file (diaktifkan secara default). Selain itu, Anda dapat mengatur beberapa batasan, seperti ukuran maksimum untuk file yang diunggah, jumlah file yang diunggah per bagian, dll. Ini adalah bagian dari file inisialisasi ini yang terkait dengan pengunggahan file

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

upload_tmp_dir = /Applications/MAMP/tmp/php

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

Jika Anda tidak dapat menemukan php. ini di komputer Anda, buat skrip dengan perintah berikut

phpinfo();
_

Dan kemudian luncurkan di browser web Anda. Ini akan menunjukkan kepada Anda jalur ke file inisialisasi, seperti pada tangkapan layar di bawah

Bagaimana saya bisa mengunggah file php secara online?
Menemukan file php ini

Biasanya, ada dua metode pengunggahan file umum di. POST, yang akan kami gunakan dalam artikel ini;

Ada dua jenis file umum yang dapat melalui POST. file teks dan file biner. File gambar (. jpg,. png,. gif, dll. ) adalah file biner, jadi kami akan bekerja dengan jenis itu. Omong-omong, dalam HTML, jenis penyandian ini dijelaskan sebagai multipart/form-data

Pertama, kita perlu menangani kode sisi klien dalam HTML dan membuat formulir yang memungkinkan pengguna memilih file untuk diunggah

Buat folder proyek PHP-upload_ di direktori akar situs web Anda (mis. g. , public_html, htdocs, atau www), lalu buat file

phpinfo();
0 baru di sana

Salin & tempel kode berikut ke file yang baru Anda buat. Ini menampilkan formulir sederhana dengan input pilih file dan tombol kirim

<!DOCTYPE html>
<html>
<body>
  <form action="uploadHandling.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
  </form>
</body>
</html>

Formulir

phpinfo();
_1 mengacu pada skrip yang akan menangani proses pengunggahan di sisi server. Seperti yang kami sebutkan sebelumnya, metode pengiriman data adalah
phpinfo();
2

phpinfo();
_3 disetel ke multipart/form-data, artinya Anda menggunakan formulir yang memiliki kontrol pengunggahan file, dan tidak ada karakter yang dikodekan

Nama skrip server harus sesuai dengan nama yang kami sebutkan di HTML. Buat folder bernama

phpinfo();
_5 di direktori proyek Anda. Ini akan menyimpan file yang masuk

Salin dan tempel skrip

phpinfo();
_6 ini sebagai solusi sisi server untuk pengunggah file/gambar Anda

// Config
$currentDirectory = getcwd();
$uploadDirectory = '/uploads/';
$fileExtensionsAllowed = ['jpeg', 'jpg', 'png']; // These will be the only file extensions allowed
$fileLimitMb = 5; // File limit in MB
$uploadOk = true;

$fileName = $_FILES['fileToUpload']['name'];
$fileSize = $_FILES['fileToUpload']['size'];
$fileTmpName  = $_FILES['fileToUpload']['tmpName'];
$fileType = $_FILES['fileToUpload']['type'];
$fileExtension = strtolower(end(explode('.', $fileName)));

$uploadPath = $currentDirectory . $uploadDirectory . basename($fileName);

// Check if image file is an actual image or fake image
if (isset($_POST['submit'])) {
  if (getimagesize($fileTmpName) !== false) {
    echo 'File is an image - ' . $check['mime'] . '.';
    $uploadOk = true;
  } else {
    echo 'File is not an image.';
    $uploadOk = false;
  }
}

// Check if file already exists
if ($uploadDirectory . basename($fileName) {
  echo 'File already exists.';
  $uploadOk = false;
}

// Check file size
if ($fileSize > ($fileLimitMb * 100000)) {
  echo 'File must be less than ' . $fileLimitMb . 'MB.';
  $uploadOk = false;
}

/*
// Allow certain file formats; needs to do foreach from array fileExtensionsAllowed
if ($imageFileType != $fileExtensionsAllowed  {
  echo 'Sorry, only JPG, JPEG, PNG & GIF files are allowed.';
  $uploadOk = false;
}*/

// Check if $uploadOk then process
if ($uploadOk == false) {
  echo 'File couldn\'t be uploaded.';
} else {
  if (move_uploaded_file($fileTmpName, $target_file)) {
    echo 'The file ' . basename($fileName) . ' has been uploaded.';
  } else {
    echo 'Sorry, there was an error uploading your file.';
  }
}
_

Biarkan saya menguraikannya untuk Anda dan menjelaskan detailnya, jadi kami berada di halaman yang sama tentang apa yang sebenarnya dilakukan skrip ini

Objek

phpinfo();
7 berisi semua sarana untuk mengakses file dan propertinya, seperti nama, ukuran, dan ekstensi file

  • phpinfo();
    _8 — nama asli file yang diunggah oleh klien
  • phpinfo();
    _9 — tipe MIME file (mis. g. , "image/gif" untuk gambar) yang disediakan oleh browser
  • <!DOCTYPE html>
    <html>
    <body>
      <form action="uploadHandling.php" method="post" enctype="multipart/form-data">
        Select image to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload Image" name="submit">
      </form>
    </body>
    </html>
    0 — ukuran file dalam byte
  • <!DOCTYPE html>
    <html>
    <body>
      <form action="uploadHandling.php" method="post" enctype="multipart/form-data">
        Select image to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload Image" name="submit">
      </form>
    </body>
    </html>
    1 — nama tempat file yang baru diunggah diletakkan di server sebelum semua pemeriksaan selesai (e. g. , jika ada file dengan nama yang sama)

Kami akan menyertakan pemeriksaan dasar yang diperlukan pada jenis file (karena dalam kasus kami ini harus berupa gambar) dan ukuran file (mis. g. , kurang dari 2MB)

Jangan lupa bahwa Anda dapat menetapkan maksimum absolut untuk unggahan file di

<!DOCTYPE html>
<html>
<body>
  <form action="uploadHandling.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
  </form>
</body>
</html>
2. Skrip khusus ini akan memiliki batas khusus sendiri untuk tugas pengunggahan gambar ini

Bagaimana saya bisa mengunggah file php secara online?
Tampilan pengunggah file PHP default

Anda harus membuat CSS Anda sendiri untuk formulir unggahan HTML agar terlihat bagus. Ini bukan kerugian karena tidak memengaruhi fungsionalitas, tetapi mungkin akan membutuhkan waktu juga

Skrip ini hanyalah puncak gunung es. Ada banyak tugas lain yang terkait dengan proses pengunggahan file, seperti mendistribusikan file di seluruh server untuk pengiriman yang optimal, pemrosesan gambar (mis. g. , pangkas dan efek lainnya), dll

Kode di atas adalah versi skrip contoh yang jelas dan sedikit disempurnakan yang mungkin Anda temukan dengan penjelasan lebih rinci di php. bersih, w3schools. com, dan situs web lainnya. Yang dari artikel ini telah diuji dan siap digunakan. Plus, ini termasuk pemeriksaan dasar, karena penting untuk tidak mengacaukan server Anda saat membuatnya tersedia untuk umum

Jika Anda memerlukan solusi yang cepat, andal, dan kuat untuk menangani pengunggahan gambar Anda, cukup panggil fungsi Uploadcare dari skrip PHP Anda. Ini akan memberi Anda lebih banyak keandalan, dan pengunggahan akan selesai lebih cepat

  • Penyiapan super cepat dan antarmuka yang dapat disesuaikan
  • Bekerja untuk web dan seluler
  • Mengelola penyimpanan dan bekerja dengan CDN secara otomatis
  • Dukungan teknis jika Anda pernah mengalami masalah
  • Fitur tambahan, seperti mengubah ukuran, memotong gambar, dll
  • Memungkinkan pengguna untuk mengimpor file dari berbagai sumber
  • Tampilan CSS dapat dengan mudah disesuaikan

  • Mungkin tidak berfungsi untuk prosedur pengunggahan yang sangat spesifik (API menyertakan metode yang mencakup hampir semua tugas yang terkait dengan pengunggahan gambar)
  • Tidak berfungsi untuk file besar (100 MB atau lebih, tergantung pada paket Anda)
  • Tidak mungkin mendapatkan paket penginstalan lokal yang sederhana, sehingga mungkin tidak berfungsi untuk sistem yang memiliki akses Internet terbatas
  • Layanan ini tidak gratis, tetapi menawarkan paket yang sesuai dengan sebagian besar kebutuhan dan anggaran bisnis

Sebenarnya, Anda bisa mengakses metode Uploadcare melalui HTML/JS, jadi PHP tidak diperlukan sama sekali. Namun, Uploadcare memberi Anda API yang terdokumentasi dengan baik yang dapat Anda gunakan dari dalam backoffice yang ditulis PHP

Lihat panduan yang sangat mendetail tentang menginstal pustaka Uploadcare melalui Komposer, mendapatkan kunci API, dan beralih. Pengunggahan File Tanpa Server di PHP →

Setelah selesai, memasukkan gambar Anda ke server CDN menggunakan Uploadcare akan semudah beberapa baris kode ini

<!DOCTYPE html>
<html>
<head>
  <script>
    UPLOADCARE_PUBLIC_KEY = 'YOUR_PUBLIC_KEY';
  </script>
  <?php echo $api->widget->getScriptTag(); ?>
</head>
<body>
<form method="POST" action="index.php">
  <?php echo $api->widget->getInputTag('qs-file'); ?>
  <input type="submit" value="Save!" />
</form>
</body>
</html>

Saat Anda meluncurkan kode ini di browser, Anda akan melihat widget muncul, yang artinya Anda dapat melanjutkan dan mulai mengunggah

Bagaimana saya bisa mengunggah file php secara online?
Halo dunia contoh pengunggahan file dan gambar PHP

Kami di Uploadcare telah mengalami banyak kesulitan dalam mengunggah file. Akhirnya, kami memutuskan pasti ada cara yang lebih baik, jadi kami membuat layanan yang memudahkan Anda

Jika Anda tidak ingin bisnis Anda terhenti karena tugas kecil namun rumit ini, coba Uploadcare sekarang. Mengapa berjalan ke bandara jika Anda bisa naik taksi?

Bagaimana cara mengunggah file di PHP?

Unggah & lihat file .
Di ponsel atau tablet Android Anda, buka aplikasi Google Drive
Ketuk Tambahkan
Ketuk Unggah
Temukan dan ketuk file yang ingin Anda unggah
Lihat file yang diunggah di Drive Saya sampai Anda memindahkannya

Bagaimana mendapatkan URL unggahan dalam PHP?

is_writable($upload_path)) die('Anda tidak dapat mengunggah ke direktori yang ditentukan, harap CHMOD ke 777. '); . if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path. $filename)) echo 'Unggah file Anda berhasil, lihat file

Bagaimana cara mengunggah file PHP di GitHub?

GitHub .
Daftar & Luncurkan Server. Pertama-tama, daftar di Cloudways dan luncurkan server dan aplikasi Anda. .
Membuat Kunci SSH. .
Unggah Kunci SSH Ke Repositori GitHub. .
Salin Alamat Repositori SSH. .
Terapkan Kode dari Repositori Anda. .
Repositori Berhasil Dikloning. .
Buat proyek baru di DeployHQ. .
Tambahkan Jalur Repositori Github

Bagaimana cara mengunggah gambar di PHP?

Program untuk Mencapai Tugas .
Langkah 1. Buat Formulir Menggunakan HTML untuk Mengunggah File Gambar. Kode HTML berikut akan membuat formulir sederhana di situs web Anda, dengan opsi "pilih file" dan tombol untuk mengunggah file yang dipilih. .
Langkah 2. Terhubung Dengan Database untuk Menyisipkan File Gambar