នៅក្នុងការអត្ថបទនេះ យើងនឹងបង្ហាញអ្នកអំពីរបស់សរសេរកូដPHP ដើម្បីអាចឲ្យអ្នកប្រើប្រាស់ upload ឯកសារបានច្រើននៅក្នុង Formនៃwebpage តែមួយ បន្ទាប់មក យើងអាចកំណត់នូវទំហំឯកសារ ប្រភេទឯកសារជាដើម មុននឹងរក្សាទិន្នន័ចូលក្នុង server និងក្នុងdatabase។
<?php
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
$query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
$desired_dir="user_data";
if(empty($errors)==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"user_data/".$file_name);
}else{ //rename the file if another one exist
$new_dir="user_data/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
mysql_query($query);
}else{
print_r($errors);
}
}
if(empty($error)){
echo "Success";
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple="" />
<input type="submit"/>
</form>
សូមចំណាំថា អ្នកត្រូវកំណត់នូវ enctype="multipart/form-data" ហើយ nameរបស់ input គឺ name="files[]"។
ជាដំបូងយើងត្រូវពិនិត្យមើលថា តើគេបានជ្រើសរើសfile សំរាប់upload ឬអត់ ដោយប្រើប្រាស់ function isset($_FILES[“”])
ដើម្បីផ្ទៀងផ្ទាត់ថា ប្រភេទfile ដែលគេបានuploadនោះត្រឹមត្រូវតាមអី្វដែលយើងបានកំណត់យើងអាចសរសេរលក្ខខ័ណ្ឌដូចនេះ៖
$extensions = array("jpeg","jpg","png");
$file_ext=explode('.',$_FILES['image']['name'][$key]) ;
$file_ext=end($file_ext);
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'][$key])));
if(in_array($file_ext,$extensions ) === false){
$errors[]="extension not allowed";
}
ដើម្បីពិនិត្យទំហំរបស់ file ថាគេupload file តាមទំហំដែលយើងបានកំណត់ឬអត់ យើងអាចសរសេរបាន (ក្នុងករណីនេះ File ត្រូវតែតូចជាង ២MB។
if($_FILES['image']['size'][$key] > 2097152){
$errors[]='File size must be less tham 2 MB';
}
នេះជា SQL សំរាប់បង្កើតតារាងដើម្បីរក្សាទុកទិន្នន័យរបស់រូបភាព ឬ File ដែលគេUpload
CREATE TABLE `upload_data` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`USER_CODE` int(4) unsigned zerofill NOT NULL,
`FILE_NAME` varchar(200) NOT NULL,
`FILE_SIZE` varchar(200) NOT NULL,
`FILE_TYPE` varchar(200) NOT NULL,
PRIMARY KEY (`ID`)
)