19 Sep 2016

3 Custom Function Penting PHP Untuk Operasional File Wajib Anda Ketahui

Adlinux - Beberapa fungsi dalam pemrograman PHP terkadang harus dibuat sendiri  untuk kebutuhan tertentu seperti menghapus, upload, meru... thumbnail 1 summary
Fungsi buatan sendiri untuk Operasional File pada PHP Yang Wajib Anda Tahu
Adlinux - Beberapa fungsi dalam pemrograman PHP terkadang harus dibuat sendiri  untuk kebutuhan tertentu seperti menghapus, upload, merubah ukuran file dan lai-lain. Fungsi-fungsi yang dibuat sendiri ini disebut dengan UDF (user-defined-functions).

Berikut ini akan kita ulas 3 php custom function yang merupakan fungsi dasar PHP (user defined funtions) yang berkaitan dengan operasional File yang wajib anda ketahui jika membangun sebuah proyek PHP:

1. Fungsi Menghapus File dengan PHP 

Fungsi ini berguna untuk menghapus file pada webserver tanpa menggunakan klien ftp. Fungsi ini sangat sederhana jadi selalu pastikan bahwa Anda menghapus file yang tepat. Perintah yang digunakan adalah perintah "unlink", (fungsi dasar PHP untuk menghapus file).
Dalam fungsi yang akan dibuat disini, dibutuhkan 2 parameter: path ke lokasi file (harus diakhiri dengan garis miring "/") dan nama file (file yang akan dihapus).

Fungsi ini diatur untuk menghasilkan 2 output, yaitu, "TRUE" atau "FALSE". TRUE apabila file berhasil dihapus dari webserver dan FALSE apabila sebaliknya.

function fileDelete($filepath,$filename) {
 $success = FALSE;
 if (file_exists($filepath.$filename)&&$filename!=""&&$filename!="n/a") {
  unlink ($filepath.$filename);
  $success = TRUE;
 }
 return $success; 
}

2. Membuat ZIP File dengan PHP 

Beberapa baris script berikut berfungsi untuk merubah file dalam format tertentu menjadi format ZIP. Fungsi ini sangat berguna misalnya jika Anda ingin membangun sebuah proyek web ecommerce berbasis PHP. Misalnya untuk penjualan e-book dalam format PDF, gambar, DOCS dan lain-lain.

Dalam praktik berikut system bekerja dengan menampilkan daftar file dalam format asli misalnya, pdf, docs, jpg dan lain-lain. User dapat memilih beberapa file yang diinginkan kemudian mendownloadnya dalam bentuk file format ZIP.
Fungsi buatan sendiri untuk Operasional File pada PHP Yang Wajib Anda Tahu
Daftar File untuk di Download

Script HTML 

Script HTML berikut akan menampilkan daftar file dalam beberapa format berbeda kepada user yang dapat memilih untuk kemudian mendownload
<form name="zips" method="post">

<input type="checkbox" name="files[]" value="flowers.jpg" />
<img src="files/image.png" />
flowers.jpg

<input type="checkbox" name="files[]" value="fun.jpg" />
<img src="files/image.png" />
fun.jpg

<input type="checkbox" name="files[]" value="9lessons.docx" />
<img src="files/doc.png"   />
9lessons.docx
........
<input type="submit" name="createpdf" value="Download as ZIP" />&nbsp;
<input type="reset" name="reset"  value="Reset" />
</form>

Script PHP

Scipt PHP berikut untuk merubah format file tertentu yang dipilih menjadi file berekstensi ZIP
<?php
$error = ""; //error holder
if(isset($_POST['createpdf']))
{
$post = $_POST; 
$file_folder = "files/"; // folder to load files
if(extension_loaded('zip'))
{ 
// Checking ZIP extension is available
if(isset($post['files']) and count($post['files']) > 0)
{ 
// Checking files are selected
$zip = new ZipArchive(); // Load zip library 
$zip_name = time().".zip"; // Zip name
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{ 
 // Opening zip file to load files
$error .= "* Sorry ZIP creation failed at this time";
}
foreach($post['files'] as $file)
{ 
$zip->addFile($file_folder.$file); // Adding files into zip
}
$zip->close();
if(file_exists($zip_name))
{
// push to download the zip
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$zip_name.'"');
readfile($zip_name);
// remove zip file is exists in temp path
unlink($zip_name);
}

}
else
$error .= "* Please select file to zip ";
}
else
$error .= "* You dont have ZIP extension";
}
?>

3. Upload dan Merubah Ukuran File Gambar dengan PHP

Anda mencari script PHP untuk upload file? Berikut merupakan script PHP sederhana yang berfungsi untuk mengupload file-file gambar ke server. System bekerja dengan menerima upload lalu merubah dimensi file ke dalam dimensi yang lebih kecil. Fungsi ini sangat berguna untuk menghemat space hosting dan bandwidth.

Script PHP

Script PHP berikut akan merubah dimensi gambar menjadi 60px x 25px perhatikan kode $newwidth yang akan merubah ukuran file.
<?php 

 define ("MAX_SIZE","400");

 $errors=0;
 
 if($_SERVER["REQUEST_METHOD"] == "POST")
 {
        $image =$_FILES["file"]["name"];
 $uploadedfile = $_FILES['file']['tmp_name'];

  if ($image) 
  {
  $filename = stripslashes($_FILES['file']['name']);
        $extension = getExtension($filename);
  $extension = strtolower($extension);
 if (($extension != "jpg") && ($extension != "jpeg") 
&& ($extension != "png") && ($extension != "gif")) 
  {
echo ' Unknown Image extension ';
$errors=1;
  }
 else
{
   $size=filesize($_FILES['file']['tmp_name']);
 
if ($size > MAX_SIZE*1024)
{
 echo "You have exceeded the size limit";
 $errors=1;
}
 
if($extension=="jpg" || $extension=="jpeg" )
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
}
else if($extension=="png")
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
}
else 
{
$src = imagecreatefromgif($uploadedfile);
}
 
list($width,$height)=getimagesize($uploadedfile);

$newwidth=60;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);

$newwidth1=25;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,
 $width,$height);

imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1, 
$width,$height);

$filename = "images/". $_FILES['file']['name'];
$filename1 = "images/small". $_FILES['file']['name'];

imagejpeg($tmp,$filename,100);
imagejpeg($tmp1,$filename1,100);

imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}
}
}
//If no errors registred, print the success message

 if(isset($_POST['Submit']) && !$errors) 
 {
   // mysql_query("update SQL statement ");
  echo "Image Uploaded Successfully!";

 }
 ?>

Fungsi PHP untuk Extensi File

Fungsi untuk menemukan ekstensi file
function getExtension($str) {

         $i = strrpos($str,".");
         if (!$i) { return ""; } 
         $l = strlen($str) - $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
 }

Demikian 3 php custom function untuk operasional file pada PHP. Fungsi-fungsi ini sangat berguna karena hampir setiap proyek web umumnya membutuhkan upload, download dan menghapus file-file tertentu selama berjalannya system.

Lihat juga Non aktifkan Upload File pad LAMP di Linux