Cara upload file php di server

Unggah file adalah fitur yang paling banyak digunakan dalam aplikasi web. PHP menyediakan cara mudah untuk mengunggah file ke server. Dengan PHP, Anda dapat mengunggah file atau gambar ke server dengan menulis kode minimal. Dalam tutorial ini, kami akan menunjukkan cara mengunggah file di PHP dan membuat skrip PHP untuk mengunggah file ke direktori di server. Dengan contoh skrip unggah file PHP ini Anda dapat mengunggah semua jenis file termasuk gambar ke server di PHP

Unggah Formulir HTML

Pada awalnya, tentukan elemen formulir HTML untuk memungkinkan pengguna memilih file yang ingin mereka unggah
Yakinkan

tag berisi atribut berikut
  • metode = "posting"
  • enctype="multipart/formulir-data"

Pastikan juga tag berisi atribut type="file"

    Select File to Upload:
    
    

Formulir pengunggahan file di atas akan dikirimkan ke skrip sisi server (unggah. php) untuk mengunggah file yang dipilih ke server

Unggah File dalam PHP (unggah. php)

Unggahan ini. File php berisi kode sisi server untuk menangani proses pengunggahan file menggunakan PHP

  • PHP menyediakan fungsi bawaan bernama move_uploaded_file() yang memindahkan file yang diunggah ke lokasi baru. Menggunakan fungsi move_uploaded_file()_ kita dapat mengunggah file dalam PHP
  • Dalam variabel $targetDir, tentukan jalur folder unggahan yang diinginkan di mana file yang diunggah akan disimpan di server
  • Dalam variabel $allowTypes, tentukan jenis file dalam format array yang ingin Anda izinkan untuk diunggah
  • Gunakan fungsi PHP move_uploaded_file() untuk mengunggah file ke server
$statusMsg = '';

//file upload path
$targetDir = "uploads/";
$fileName = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])) {
    //allow certain file formats
    $allowTypes = array('jpg','png','jpeg','gif','pdf');
    if(in_array($fileType, $allowTypes)){
        //upload file to server
        if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
            $statusMsg = "The file ".$fileName. " has been uploaded.";
        }else{
            $statusMsg = "Sorry, there was an error uploading your file.";
        }
    }else{
        $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';
    }
}else{
    $statusMsg = 'Please select a file to upload.';
}

//display status message
echo $statusMsg;
?>

_

Apakah Anda ingin mendapatkan bantuan implementasi, atau memodifikasi atau meningkatkan fungsionalitas skrip ini?

Mengunggah file, gambar, dan video menggunakan PHP semudah menambahkan beberapa skrip. Panduan ini akan menunjukkan kepada Anda dua cara berbeda tentang cara menambahkan fungsionalitas pengunggahan file php ke situs Anda

  • – Ini adalah cara paling sederhana untuk menambahkan pengunggah PHP ke layanan Anda. Keuntungannya adalah Anda memiliki kendali penuh atas file yang sedang diunggah
  • – Ini adalah cara yang lebih mudah untuk menambahkan fungsionalitas unggahan PHP. Keuntungannya adalah Anda tidak perlu mengelola infrastruktur pengunggahan file yang kompleks di belakang layar

Mari kita mulai dengan beberapa contoh mudah

Daftar isi

Unggah File PHP – Cara Sederhana

Untuk memulai, kami akan membuat yang berikut ini

1. Formulir HTML

Pertama, kami akan membuat formulir HTML yang akan dilihat pengguna saat mereka ingin mengunggah file. Buat folder baru untuk proyek contoh ini, dan di dalamnya, buat file index.html dengan kode berikut

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PHP File Upload</title>
</head>
<body>
    <form action="fileUploadScript.php" method="post" enctype="multipart/form-data">
        Upload a File:
        <input type="file" name="the_file" id="fileToUpload">
        <input type="submit" name="submit" value="Start Upload">
    </form>
</body>
</html>

Beberapa hal penting yang perlu diperhatikan dalam contoh di atas

  • action="fileUploadScript.php" – Ini mereferensikan skrip PHP yang akan menangani pengunggahan file di backend
  • method="post" – Ini memberi tahu tindakan browser yang akan digunakan formulir saat mengirim file ke server (untuk unggahan, ini hampir selalu merupakan tindakan POST, terkadang PUT)
  • enctype="multipart/form-data" – Ini menentukan jenis konten yang dikirimkan formulir

Selanjutnya, buka terminal Anda dan dari direktori tempat Anda membuat file, mulai server PHP

Cara upload file php di server

Kemudian, buka browser web Anda dan pergi ke

<?php
    $currentDirectory = getcwd();
    $uploadDirectory = "/uploads/";

    $errors = []; // Store errors here

    $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 

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

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

    if (isset($_POST['submit'])) {

      if (! in_array($fileExtension,$fileExtensionsAllowed)) {
        $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
      }

      if ($fileSize > 4000000) {
        $errors[] = "File exceeds maximum size (4MB)";
      }

      if (empty($errors)) {
        $didUpload = move_uploaded_file($fileTmpName, $uploadPath);

        if ($didUpload) {
          echo "The file " . basename($fileName) . " has been uploaded";
        } else {
          echo "An error occurred. Please contact the administrator.";
        }
      } else {
        foreach ($errors as $error) {
          echo $error . "These are the errors" . "\n";
        }
      }

    }
?>
0. Anda harus melihat sesuatu seperti ini

Cara upload file php di server

2. Skrip Unggah File PHP

Selanjutnya, kami akan menangani backend dari unggahan file. Pertama, di direktori yang sama, buat direktori baru bernama unggahan. Di sinilah skrip kami akan menyimpan file

Kemudian, di direktori yang sama dengan index. html, buat file bernama fileUploadScript. php. Perhatikan bahwa ini adalah nama yang sama dengan atribut tindakan dalam formulir. Kemudian tambahkan kode ini

<?php
    $currentDirectory = getcwd();
    $uploadDirectory = "/uploads/";

    $errors = []; // Store errors here

    $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 

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

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

    if (isset($_POST['submit'])) {

      if (! in_array($fileExtension,$fileExtensionsAllowed)) {
        $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
      }

      if ($fileSize > 4000000) {
        $errors[] = "File exceeds maximum size (4MB)";
      }

      if (empty($errors)) {
        $didUpload = move_uploaded_file($fileTmpName, $uploadPath);

        if ($didUpload) {
          echo "The file " . basename($fileName) . " has been uploaded";
        } else {
          echo "An error occurred. Please contact the administrator.";
        }
      } else {
        foreach ($errors as $error) {
          echo $error . "These are the errors" . "\n";
        }
      }

    }
?>

Beberapa hal yang perlu diperhatikan

  • Kunci yang digunakan untuk mengakses file dari objek
    <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    1 cocok dengan atribut nama yang digunakan dalam formulir
  • <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    2 – Ini adalah nama file sebenarnya
  • <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    3 – Ini adalah ukuran file dalam byte
  • <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    4 – Ini adalah file sementara yang berada di direktori
    <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    5 server
  • <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    6 – Ini mendapatkan ekstensi file dari nama file
  • <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    7 – Di sinilah file akan disimpan di server. Dalam skrip di atas, ini diatur ke direktori kerja saat ini

Perhatikan juga bahwa dalam kode di atas, kami memvalidasi unggahan file dengan memeriksa jenis dan ukuran file. (Hanya file png dan jpeg yang berukuran kurang dari 4MB)

Sekarang ada beberapa langkah terakhir sebelum kita dapat mulai mengupload file

  • Buka direktori
    <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    _8 Anda dan buat agar dapat ditulisi dengan menjalankan.
    <?php
        $currentDirectory = getcwd();
        $uploadDirectory = "/uploads/";
    
        $errors = []; // Store errors here
    
        $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed 
    
        $fileName = $_FILES['the_file']['name'];
        $fileSize = $_FILES['the_file']['size'];
        $fileTmpName  = $_FILES['the_file']['tmp_name'];
        $fileType = $_FILES['the_file']['type'];
        $fileExtension = strtolower(end(explode('.',$fileName)));
    
        $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName); 
    
        if (isset($_POST['submit'])) {
    
          if (! in_array($fileExtension,$fileExtensionsAllowed)) {
            $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
          }
    
          if ($fileSize > 4000000) {
            $errors[] = "File exceeds maximum size (4MB)";
          }
    
          if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    
            if ($didUpload) {
              echo "The file " . basename($fileName) . " has been uploaded";
            } else {
              echo "An error occurred. Please contact the administrator.";
            }
          } else {
            foreach ($errors as $error) {
              echo $error . "These are the errors" . "\n";
            }
          }
    
        }
    ?>
    
    _9
  • Pastikan file
    max_file_uploads = 20
    upload_max_filesize = 2M
    post_max_size = 8M
    
    _0 Anda dikonfigurasi dengan benar untuk menangani pengunggahan file (Tip. untuk menemukan php.ini Anda. file ini, jalankan
    max_file_uploads = 20
    upload_max_filesize = 2M
    post_max_size = 8M
    
    1)
max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M

Terakhir, jika Anda sekarang memulai server PHP dan pergi ke localhost. 1234, lalu unggah file, Anda akan melihatnya tersimpan di folder unggahan

Perlu diingat bahwa semua kode di atas memerlukan tindakan pengamanan tambahan sebelum dirilis dalam produksi. Misalnya, saat ini tidak ada pemeriksaan untuk mengetahui apakah pengguna telah mengunggah virus yang disamarkan sebagai gambar. Untuk mempelajari lebih lanjut, lihat artikel ini yang menjelaskan berbagai cara untuk menangani pengunggahan file yang aman

Unggah File dengan Filestack

Dalam contoh kedua ini, kami akan menggunakan Filestack untuk mengunggah file. Filestack adalah API dan layanan pengunggahan file tingkat lanjut yang menyimpan file dengan aman di cloud

Mengapa menggunakan pihak ketiga seperti Filestack daripada membangunnya sendiri? . Ini dapat membebaskan Anda untuk fokus membangun bagian penting lainnya dari aplikasi Anda

Dan Anda dapat memulai secara gratis. Filestack memiliki paket gratis yang menangani hingga 100 unggahan bulanan dengan penyimpanan 1GB dan lebar pita 1GB. Jika Anda perlu melampaui jumlah itu, mereka menawarkan harga yang disesuaikan dengan penggunaan

Jadi mari kita mulai

1. Mendaftar untuk Akun Filestack

Cara upload file php di server

Pertama, kami akan mendaftar untuk akun Filestack. Buka halaman pendaftaran mereka dan setelah Anda masuk, dapatkan Kunci API, yang akan Anda gunakan di langkah selanjutnya

2. Mulai Mengunggah

Sekarang kita memiliki pustaka Filestack, mari integrasikan widget pengunggah file JavaScript mereka, yang memungkinkan pengguna Anda untuk terhubung ke berbagai sumber lain untuk mengunggah. Misalnya, jika mereka ingin mengunggah dari URL atau dari media sosial. Cukup ganti isi index. html dengan berikut ini

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PHP File Upload</title>
</head>
<body>
    <style>
      .picker-content{
        height:300px;
        width:200px;
      }
    </style>
    <script src="//static.filestackapi.com/filestack-js/2.x.x/filestack.min.js"></script>
    <script type="text/javascript">
      document.addEventListener("DOMContentLoaded", function(event) { 
        const client = filestack.init(YOUR_API_KEY); 

        let options = {
          "displayMode": "inline",
          "container": ".picker-content",
          "accept": [
            "image/jpeg",
            "image/jpg",
            "image/png"
          ],
          "fromSources": [
            "local_file_system"
          ],
          "uploadInBackground": false,
          "onUploadDone": (res) => console.log(res),
        };

        picker = client.picker(options);
        picker.open();
      });
    </script>
    <div class="picker-content"></div>
</body>
</html>

Kemudian, buka halaman Anda dan unggah file menggunakan widget unggah. Setelah mengunggah, Anda seharusnya dapat masuk ke dasbor Filestack dan melihat file yang baru diunggah

Cara upload file php di server

Dan itu saja. Anda bahkan tidak memerlukan server untuk menangani file, yang lebih baik untuk skalabilitas, keamanan, dan pemeliharaan

Filestack PHP Library (opsional)

Contoh di atas mencakup contoh paling sederhana mengunggah file dengan Filestack. Namun, bagaimana jika Anda ingin mengakses file di server Anda untuk menjalankan semacam pasca-pemrosesan, seperti memeriksa apakah suatu gambar aman untuk bekerja? . Kami akan menggunakan Komposer untuk menginstal pustaka Filestack PHP. Jika Anda belum memiliki Komposer, Anda dapat menginstalnya dengan masuk ke folder yang Anda buat awalnya dan menjalankannya (lihat ini untuk dokumentasi resmi)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Setelah Anda melakukan hal di atas, Anda seharusnya dapat melihat keluaran Composer dengan menjalankan

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
2

Kemudian jalankan

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
_3 untuk menginstal Filestack SDK

Sekarang kita memiliki pustaka Filestack, mari buat skrip PHP baru untuk memeriksa apakah file yang diunggah tertentu aman untuk bekerja. Buat file baru bernama fileUploadFilestack. php dan tambahkan berikut ini (pastikan untuk mengubah variabel YOUR_API_KEY, YOUR_SECURITY_SECRET, dan YOUR_FILE_HANDLE)

<?php
  require __DIR__ . '/vendor/autoload.php';
  use Filestack\FilestackClient;
  $client = new FilestackClient(YOUR_API_KEY);
  $security = new FilestackSecurity(YOUR_SECURITY_SECRET);

  $file_handle = YOUR_FILE_HANDLE;

  # get tags with client
  $result_json = $client->getTags($file_handle);

  # get tags with filelink
  $filelink = new Filelink($file_handle, YOUR_API_KEY, $security);

  $json_result = $filelink->getTags();

  # get safe for work flag with filelink
  $json_result = $filelink->getSafeForWork();
?>

Saat skrip ini dijalankan, hasil pemeriksaan safe-for-work akan disimpan dalam variabel

max_file_uploads = 20
upload_max_filesize = 2M
post_max_size = 8M
4. Dan itu hanya satu contoh. Menggunakan Filestack PHP SDK memungkinkan Anda melakukan berbagai tugas pada file yang Anda unggah. Lihat contoh-contoh lain ini

  • Ubah file sebelum diunggah
  • Uji apakah unggahan file "aman untuk bekerja"
  • Transkode video atau audio yang diunggah
  • Konversi unggahan file ke pdf
  • Dan banyak lagi…

Selain itu, jika Anda ingin melihat lebih banyak contoh bagaimana pemilih unggahan file dapat diintegrasikan ke dalam formulir, lihat tautan ini

  • Unggah gambar
  • Buka pemilih
  • Buka pemilih dalam mode sebaris
  • Pangkas gambar
  • Pratinjau file

Ringkasan

Sekarang setelah Anda mengetahui cara mengimplementasikan unggahan file PHP dengan dua cara, Anda dapat dengan mudah menambahkan fitur ini ke situs web atau aplikasi Anda. Jika berurusan dengan tantangan skalabilitas, keamanan, dan pemeliharaan hosting infrastruktur unggahan file Anda sendiri tampaknya terlalu menakutkan, biarkan Filestack menanganinya. Pastikan juga untuk membaca artikel kami tentang Pengunggahan File AJAX

Bagaimana cara mengunggah file ke server?

Di bawah ini akan dijelaskan cara membuat file di server Anda dengan Notepad++. .
Terhubung ke server Anda dengan Notepad++
Di jendela NppFTP di sisi kanan Notepad++, navigasikan ke folder tempat Anda ingin mengunggah file. .
Jelajahi server untuk file yang ingin Anda unggah
Pilih file dan klik Buka

Bagaimana cara kerja pengunggahan file PHP?

Skrip PHP dapat digunakan dengan formulir HTML untuk memungkinkan pengguna mengunggah file ke server. Awalnya file diunggah ke direktori sementara dan kemudian dipindahkan ke tujuan target dengan skrip PHP . Pengguna membuka halaman yang berisi formulir HTML yang menampilkan file teks, tombol telusuri, dan tombol kirim.

Bagaimana cara menambahkan PHP ke situs web saya?

Jika server Anda telah mengaktifkan dukungan untuk PHP, Anda tidak perlu melakukan apa pun. Cukup buat beberapa. php, letakkan di direktori web Anda, dan server akan secara otomatis menguraikannya untuk Anda . Anda tidak perlu mengkompilasi apa pun atau memasang alat tambahan apa pun. Karena PHP gratis, sebagian besar host web menawarkan dukungan PHP.

Bagaimana cara mengunggah file ke server HTML saya?

Unduh dan instal program FTP pilihan Anda. .
Masukkan nama pengguna dan kata sandi Anda. .
Gabung. .
Pindahkan file dari komputer Anda ke situs web Anda. .
Periksa file di browser Anda setelah selesai diunggah ke ruang Web Anda