Section
#1
Първата секция от тази функция дефинира Вашите променливи. Приемаме
временно име за файла, както и определяме размера му с цел сравняване. Размера
на файла е дефиниран в bytes.
<?php
//SECTION #2
if
($temp_file_name) {
$size = filesize($temp_file_name);
if ($size < $kb)
{
$file_size = "$size Bytes";
}
elseif ($size < $mb) {
$final =
round($size/$kb,2);
$file_size = "$final KB";
}
elseif ($size < $gb)
{
$final = round($size/$mb,2);
$file_size = "$final
MB";
}
elseif($size < $tb) {
$final =
round($size/$gb,2);
$file_size = "$final GB";
} else {
$final =
round($size/$tb,2);
$file_size = "$final TB";
}
} else {
$file_size
= "ERROR: NO FILE PASSED TO get_file_size()";
}
return
$file_size;
}
?>
Section #2
Втората секция на тази
функция стартира нашия процес за проверка и изход. Първо проверяваме дали
променливата $temp_file_name е валидна, ако не функцията връща грешка. В
$temp_file_name, получаваме размера на файла във bytes от PHP функцията
filesize(). Искаме да имаме възможност да проверим нашия log file.
Function #5 (Екстракт на Max File
Size)
<?php
function get_max_size() {
$max_file_size =
trim($this->max_file_size);
$kb = 1024;
$mb = 1024 * $kb;
$gb = 1024
* $mb;
$tb = 1024 * $gb;
if ($max_file_size) {
if ($max_file_size
< $kb) {
$max_file_size = "max_file_size Bytes";
}
elseif
($max_file_size < $mb) {
$final =
round($max_file_size/$kb,2);
$max_file_size = "$final KB";
}
elseif
($max_file_size < $gb) {
$final =
round($max_file_size/$mb,2);
$max_file_size = "$final
MB";
}
elseif($max_file_size < $tb) {
$final =
round($max_file_size/$gb,2);
$max_file_size = "$final GB";
} else
{
$final = round($max_file_size/$tb,2);
$max_file_size = "$final
TB";
}
} else {
$max_file_size = "ERROR: NO SIZE PARAMETER PASSED TO
get_max_size()";
}
return $max_file_size;
}
?>
Няма да
разбиваме функцията на секции, защото тя е почти като горната функция.
Единственото различно нещо е, че връща максималния размер на файла. Тази функция
е подходяща за извикване в случай, че потребителят се опитва да upload-не file,
който е прекалено голям. Бихте могли да напишете грешка и да използувате тази
функция да покаже максималния допустим размер на
файла.
----------------------------
Function #6 (Validation of The
User)
<?php
function validate_user() {
//SECTION
#1
$banned_array = $this->banned_array;
$ip =
trim($_SERVER['REMOTE_ADDR']);
$cpu = gethostbyaddr($ip);
$count =
count($banned_array);
//SECTION #2
if ($count < 1) {
return
true;
} else {
foreach($banned_array as $key => $value) {
if ($value
== $ip ."-". $cpu) {
return false;
} else {
return
true;
}}}}
?>
Тази функция, ще проверява кой потребител
upload-ва. Силното в този class е, че можете да блокирате потребители да
ъплоудват на Вашия сървър. Използва се техниката на прихващане на IP. Всеки път,
когато потребител upload-ва файл, информацията за адреса му и размера на файла,
дата, и час, се записват в текстов файл на сървъра. Ако Ви се случи да имате
проблем с някой, upload-ващ потребител, можете да изтриете файла, да проверите,
кой е upload-вал и да добавите IP във Вашият списък със забранени потребители.
Ако потребителят е открит в този списък, той или тя, няма да имат възможност за
upload на файлове.
<?php
function validate_user() {
//SECTION
#1
$banned_array = $this->banned_array;
$ip =
trim($_SERVER['REMOTE_ADDR']);
$cpu = gethostbyaddr($ip);
$count =
count($banned_array);
?>