Buat Form Upload-File
Untuk memungkinkan pengguna untuk meng-upload file dari formulir dapat sangat berguna.
Untuk memungkinkan pengguna untuk meng-upload file dari formulir dapat sangat berguna.
Lihatlah bentuk HTML berikut untuk meng-upload file:
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
Perhatikan yang berikut tentang bentuk HTML di atas:
* Atribut enctype dari tag <form> yang menentukan
content-type untuk digunakan ketika mengirimkan formulir. "multipart / form-data"
digunakan ketika membentuk memerlukan data biner, seperti isi dari sebuah file,
untuk diupload
* Jenis = "file" atribut dari tag <input>
menentukan bahwa input harus diproses sebagai file. Sebagai contoh, bila
dilihat dalam browser, akan ada isi-tombol di sebelah field input
Catatan: Mengizinkan pengguna untuk meng-upload file adalah resiko keamanan besar. Hanya mengizinkan pengguna terpercaya untuk melakukan upload file.
Catatan: Mengizinkan pengguna untuk meng-upload file adalah resiko keamanan besar. Hanya mengizinkan pengguna terpercaya untuk melakukan upload file.
Buat Script Upload
The "upload_file.php" file berisi kode untuk meng-upload file:
The "upload_file.php" file berisi kode untuk meng-upload file:
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
Dengan menggunakan PHP global $ _FILES array yang Anda
dapat meng-upload file dari komputer klien ke server remote.
Parameter pertama adalah nama input form dan indeks kedua dapat berupa "nama", "tipe", "ukuran", "tmp_name" atau "kesalahan". Seperti ini:
* $ _FILES ["File"] ["nama"] - nama dari file upload
* $ _FILES ["File"] ["tipe"] - jenis dari file upload
* $ _FILES ["File"] ["size"] - ukuran dalam byte dari file upload
* $ _FILES ["File"] ["tmp_name"] - nama salinan sementara dari file yang tersimpan di server
* $ _FILES ["File"] ["error"] - kode kesalahan yang dihasilkan dari upload file
Ini adalah cara yang sangat sederhana dari file upload. Untuk alasan keamanan, Anda harus menambahkan pembatasan pada apa yang user diperbolehkan untuk upload.
Parameter pertama adalah nama input form dan indeks kedua dapat berupa "nama", "tipe", "ukuran", "tmp_name" atau "kesalahan". Seperti ini:
* $ _FILES ["File"] ["nama"] - nama dari file upload
* $ _FILES ["File"] ["tipe"] - jenis dari file upload
* $ _FILES ["File"] ["size"] - ukuran dalam byte dari file upload
* $ _FILES ["File"] ["tmp_name"] - nama salinan sementara dari file yang tersimpan di server
* $ _FILES ["File"] ["error"] - kode kesalahan yang dihasilkan dari upload file
Ini adalah cara yang sangat sederhana dari file upload. Untuk alasan keamanan, Anda harus menambahkan pembatasan pada apa yang user diperbolehkan untuk upload.
Pembatasan Upload
Dalam script ini kita menambahkan beberapa pembatasan
untuk upload file. Pengguna hanya dapat meng-upload file gif atau jpeg dan ukuran
file harus dibawah 20 kb..:
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
Catatan: Untuk IE untuk mengenali file jpg jenisnya
harus pjpeg, untuk FireFox harus jpeg.
Menyimpan File Uploaded
Contoh di atas membuat copy sementara dari file upload di PHP folder temp di server.
Temporary file yang disalin hilang ketika script berakhir. Untuk menyimpan file upload kita perlu menyalinnya ke lokasi yang berbeda:
Contoh di atas membuat copy sementara dari file upload di PHP folder temp di server.
Temporary file yang disalin hilang ketika script berakhir. Untuk menyimpan file upload kita perlu menyalinnya ke lokasi yang berbeda:
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
Script di atas mengecek apakah file sudah ada, jika
tidak, itu salinan file ke folder tertentu.
Catatan: Contoh ini menyimpan file ke folder baru yang disebut "upload"
Catatan: Contoh ini menyimpan file ke folder baru yang disebut "upload"
Post a Comment