$existing_file = Връща
"true" ако файл с такова има вече съществува, "false" ако не.
$valid_user = Проверява дали такъв потребител съществува.
$valid_size = За
проверка дали размера на файла е валиден.
$valid_ext = Извиква
validate_extension() за да провери дали разширението на файла е от
позволените.
Тези (4) реда са необходими, така че можем да валидираме дали да
допуснем файла за upload. Друг добавен ред от кода е в Section #2 и е показан
долу.
<?php
elseif ((((!$valid_user) OR (!$valid_size) OR
(!$valid_ext) OR ($existing_file)))) {
return false;
?>
Това
са нашите основни стъпки от процеса за проверка. If проверява дали потребителя е
реален, размера на файла е валиден, разширението на файла е валидно и дали файла
вече съществува на сървъра. Ако всички проверки са верни, се преминава към същия
процес описан преди за upload на файл и запис на нов ред в log файла за тази
дата. Сега всичко, което трябва да направим е да извикаме
class-а.
------------------
Извикване на
Class-а
Включването на класа във Вашия файл става с include()
функцията. Долу е процеса на извикване на
class-а.
<?php
//SECTION #1
$upload_class = new
Upload_Files;
$upload_class->temp_file_name =
trim($_FILES['upload']['tmp_name']);
$upload_class->file_name =
trim(strtolower($_FILES['upload']['name']));
$upload_class->upload_dir =
"uploads/";
$upload_class->upload_log_dir =
"uploads/upload_logs/";
$upload_class->max_file_size =
524288;
$upload_class->banned_array =
array("");
$upload_class->ext_array =
array(".jpg",".gif",".jpeg",".png");
//SECTION #2
$valid_ext =
$upload_class->validate_extension();
$valid_size =
$upload_class->validate_size();
$valid_user =
$upload_class->validate_user();
$max_size =
$upload_class->get_max_size();
$file_size =
$upload_class->get_file_size();
$upload_directory =
$upload_class->get_upload_directory();
$upload_log_directory =
$upload_class->get_upload_log_directory();
$upload_file =
$upload_class->upload_file_with_validation();
?>
Section
#1
В първа секция, трябва да стартираме class-а и да дефинираме нашите
class променливи. Когато стартирате ново копие на class-а, трябва да зададете
променлива за класа. В този случай нашата основна променлива е $upload_class, и
тогава стартираме класа. Напишете нов за да може PHP да разбере, че стартирате
нов class и се обърнете към името на класа. След това трябва да дефинираме
всички променливи за нашия class. За дефиниране на променливите, трябва да
стартираме нашата $upload_class. Трябва да оставите PHP да разбере, че вашето
желание е тази променлива да бъде изпратена на class-а. Припомнете си, в самото
начало на class-а, променливите които бяха дефинирани. Е сега ще ги активираме.
Да направим бърз преглед на всяка
променлива.
$upload_class->temp_file_name =
trim($_FILES['upload']['tmp_name']); [set the temp file
name]
$upload_class->file_name =
trim(strtolower($_FILES['upload']['name'])); [set the actual file
name]
$upload_class->upload_dir = "uploads/"; [set the upload
directory]
$upload_class->upload_log_dir = "uploads/upload_logs/"; [set
the upload log directory]
$upload_class->max_file_size = 524288; [set the
max file size - .5MB or 512KB]
$upload_class->banned_array = array("");
[set the banned users array]
$upload_class->ext_array =
array(".jpg",".gif",".jpeg",".png"); [set the acceptable file extensions]
Не
е нужно да дефинирате всяка променлива, ако не планирате да използувате
проверяващи скриптове. Ако ще правите само upload, се нуждаете само от първите
(4) променливи, вместо от всичките (7). Още помнете, че ако нямате списък със
забранени потребители, няма нужда да дефинирате такъв и ако ще приемате всички
файлови разширения, няма нужда от такава
променлива.
<?php
//SECTION #2
$valid_ext =
$upload_class->validate_extension();
$valid_size =
$upload_class->validate_size();
$valid_user =
$upload_class->validate_user();
$max_size =
$upload_class->get_max_size();
$file_size =
$upload_class->get_file_size();
$upload_directory =
$upload_class->get_upload_directory();
$upload_log_directory =
$upload_class->get_upload_log_directory();
$upload_file =
$upload_class->upload_file_with_validation();
?>
Section
#2
Втората секция извиква всички функции в class-а. Няма нужда да се
извикват всички функции, но показваме, че бихте могли да го направите. Добра
причина за извикване на всички функции е че бихте могли да заредите системата за
връщане на отговорите. В този ред на мисли бихте могли да кажете if !$valid_ext
и да върнете съобщение за грешка на потребителя уведомяващо го, че файловото
разширение е некоректно. Можете да извикате само $file_size и да върнете числото
на потребителя. Единствената функция, която Ви е необходима за upload е
последния ред стартиращ с $upload_file. Ако извиквате функцията с проверка,
използувайте последния ред горе, иначе без да използвате
долния.
<?php
$upload_file =
$upload_class->upload_file_with_no_validation();
?>
