Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Клас за ъплоуд на файлове чрез PHP
  1. Клас за ъплоуд
Mutatos
     
Автор  Mutatos (03.05.2004 19:52)  съобщение до автора
Погледнат  2698 пъти  добави към любими
Оценка  добави коментар
Гласове  2  изпрати на приятел
Коментари  (1)  абонирай се за PHP
    Страница 1 / 1

 



С този урок Ви предстамям един клас за ъплоудване на файлове чрез PHP.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?PHP

class Upload
{
    // Име на файла
   
var $name;
    //
MIME тип на файла
   
var $type;
    // Големина на файла в
Bytes
    var
$size;
    // Резултат, като начало
false
    var
$ok = false;
    // Място, където желаете да копирате файла
   
var $direrctory;
   
    // Конструктор на класа
    // Определяне на мястото, където желаете да копирате файла
   
function Upload($path)
    {
       
$this->directory = $path;
   
}
   
   
function LoadImage($file)
    {

        // променливата
$this->name приема името на файла
       
$this->name = $_FILES['file']['name'];
        // променливата
$this->type приема MIME типа на файла
       
$this->type = $_FILES['file']['type'];
        // променливата
$this->size приема големината на файла в Bytes
       
$this->size = $_FILES['file']['size'];
       
        // Проверка, дали файлът съдържа едно от разширенията
       
if(eregi("(jpg|gif|txt|csv|html)$", $this->name))
        {
           
if(($this->size < 100000) && ($this->size!=0))
            {

                 // Копиране на файла в избраната от Вас директория       
               
copy($file,$this->directory . $this->name);
                 // променливата
$this->ok приема стойност true       
               
$this->ok = true;
           
}
           
else
           
{
                 // променливата
$this->ok приема стойност false       
               
$this->ok = false;   
           
}
        }
       
else
       
{
            // променливата
$this->ok приема стойност false
           
$this->ok = false;
       
}
   
        // връщане на променливата
$this->ok
       
return $this->ok;
   
   
}
   
    // Дава името на файла
   
function get_name()
    {
       
return $this->name;
   
}
    // Дава типа на файла
   
function get_type()
    {
       
return $this->type;
   
}
    // Дава големината на файла
   
function get_size()
    {
       
return $this->size;
   
}
   
}


?>

Използватето на този клас е следното:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?PHP
if(is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))   
{                                                           
   
require('Upload.php');                                   
   
$up = new Upload("images/");
   
$up->LoadImage($file);   
       
   
echo $up->get_name() . "<br>";
   
echo $up->get_type() . "<br>";
   
echo $up->get_size() . "<br>";
}
?>
<
form name="form" enctype="multipart/form-data" method="post" action="">
  <
input type="file" name="file"><input name="Send" type="submit" value="Upload">
</
form>

Надявам се да Ви е от помощ!



   


Ключови думи: php upload file ъплоуд файл class клас


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: Mutatos  
Николай Николов се занимава с програмиране на PHP/MySQL повече от 6 години. Заедно с разработката на уеб приложения на PHP, се занимава с Java, XML и Webservices.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

има няколко неща в класа, които не ми харесват: защо тая проверка if(is_uploaded_file($HTTP_POST_FILES['file']['tmp_name'])) не я направиш вътре в самия клас?
и най-същественото:
                 // Копиране на файла в избраната от Вас директория        
                copy($file,$this->directory . $this->name); 
                 // променливата $this->ok приема стойност true        
                $this->ok = true;

ако директорията не е writable, лошо..
също и проверката за файлови разширения не е добре, това трябва да мога да си го задам при инициализирането на класа,
а какво ще върне проверката ако файла ми е с такова име: txt_ddimitrov.php?...

заключение: класа е много зле от към защита, да не се ползва 

  ddimitrov на 16.05.2004 22:31

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008