Remote upload PHP Script

Script php sederhana untuk mengupload file dari remote url ke server

2024-11-11 09:55:12 - Coderja

Script PHP untuk Remote Upload dari URL


<?php
// Memeriksa apakah form telah disubmit
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // URL file yang ingin diunduh
    $url = $_POST['fileUrl'];
    // Direktori di mana file akan disimpan
    $targetDir = "uploads/";
    
    // Membuat direktori jika belum ada
    if (!is_dir($targetDir)) {
        mkdir($targetDir, 0777, true);
    }

    // Mendapatkan nama file dari URL
    $fileName = basename($url);
    $targetFile = $targetDir . $fileName;

    // Mengunduh file
    if (file_put_contents($targetFile, file_get_contents($url))) {
        echo "File " . htmlspecialchars($fileName) . " telah berhasil diunduh ke server.<br>";
    } else {
        echo "Maaf, terjadi kesalahan saat mengunduh file.<br>";
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Remote Upload</title>
</head>
<body>
    <h2>Download File dari URL</h2>
    <form action="" method="post">
        Masukkan URL file yang ingin diunduh:
        <input type="text" name="fileUrl" required>
        <input type="submit" value="Download File">
    </form>
</body>
</html>



Penjelasan:

  1. Input URL: Script ini meminta input URL file yang ingin diunduh.
  2. Membuat Direktori: Script ini membuat folder uploads/ jika belum ada.
  3. Mendownload File: Menggunakan file_get_contents() untuk mendapatkan isi file dari URL dan menyimpannya di server menggunakan file_put_contents().
  4. Menampilkan Pesan: Memberi tahu pengguna apakah file berhasil diunduh atau terjadi kesalahan.

Catatan:


php

1// Mengunduh file menggunakan cURL
2$ch = curl_init($url);
3$fp = fopen($targetFile, 'wb');
4
5curl_setopt($ch, CURLOPT_FILE, $fp);
6curl_setopt($ch, CURLOPT_HEADER, 0);
7
8if (curl_exec($ch)) {
9    echo "File berhasil diunduh.<br>";
10} else {
11    echo "Kesalahan saat mengunduh file: " . curl_error($ch) . "<br>";
12}
13
14curl_close($ch);
15fclose($fp);
16


More Posts