HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 07.07.2008, 19:12
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме:
849583

Репутация: 210
По умолчанию

Цитата:
пожайлусто исправте ошибку
1) Скрипт работает только при register_globals = on

2) Вот тебе класс аплоада

Применение
Код нужно немного переделать для аплоада только 1 файла
PHP код:
foreach($_FILES as $key=>$data)
                {
                    
$new explode('.',$data['name']);                
                    
$fupload=& FileUploader::getInstance();
                    
$fupload->_FILESKeyName=$key;
                    
$fupload->newName$NewFileName
                    $fupload
->DestinationPath$DestinationPath;
                    
$fupload->AddAllowedMIME('image/jpeg','image/pjpeg','image/gif','image/png');
                    
$file $fupload->StartUpload();                
                    unset(
$_FILES[$key]['name']);
                } 


Сам класс:
PHP код:
class FileUploader {
        
        var 
$_FILESKeyName;
        
        var 
$newNamefalse;
        
        var 
$DestinationPath'./';
        
        var 
$AllowedMIME= array();
        
        var 
$isUploadedfalse;
        var 
$ErrorMessage'';
        
        var 
$UploadErrors = Array(
            
0=>'There is no error, the file uploaded with success.',
            
1=>'The uploaded file exceeds the upload_max_filesize directive in php.ini.',
            
2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.',
            
3=>'The uploaded file was only partially uploaded.',
            
4=>'No file was uploaded.',
            
6=>'Missing a temporary folder.',
            
7=>'Failed to write file to disk.',
            
8=>'File upload stopped by extension.'
        
);
        
        
        function 
FileUploader() {
            
        }
        
        function 
StartUpload() {            
            
$_file$_FILES[$this->_FILESKeyName];
            if (
$_file['error']!=0) {
                
$this->ErrorMessage$this->UploadErrors[$_file['error']];
                return;
            }
            else {
                if ( 
count($this->AllowedMIME)>&& !in_array($_file['type'], $this->AllowedMIME)) {
                    
$this->ErrorMessage'Wrong MIME type of uploaded file.';
                    return;
                }
                
                
// start uploading file
                
$this->getNewName($_file['name']);
                
move_uploaded_file($_file['tmp_name'], $this->DestinationPath.$this->newName);
                return 
$this->newName;
            }
        }
        
        function 
getNewName($oldname) {
            
$oldnameexplode('.'$oldname);
            
$extentionstrtolower($oldname[count($oldname)-1]);
            
array_splice($oldnamecount($oldname)-11);
            
$oldnameimplode('.'$oldname);
            
            
$this->newNamestrtolower($this->newName!==false $this->newName $oldname);
            
            
$new_namepreg_replace("/[^a-z0-9]+/i"'_'$this->newName);
            
$this->newName$new_name '.' $extention;

            
$i1;
            while(
file_exists($this->DestinationPath.$this->newName)) {
                
$this->newName$new_name '_' $i '.' $extention;
                
$i++;
            }
        }
        
        function 
AddAllowedMIME() {
            
$amountfunc_num_args();
            if (
$amount>0) {
                
$argumentsfunc_get_args();
                for(
$i=0$i<$amount$i++)
                    
array_push($this->AllowedMIME$arguments[$i]);
            }
        }
        
        function 
ClearAllowedMIME() {
            
array_splice($this->AllowedMIME0);
        }
        
        function &
getInstance() {
            static 
$instance;
            if (!
$instance$instance= new FileUploader();
            return 
$instance;
        }
    } 
Класс под php4, т.е не использует преимуществ php5
Пользуйся классами - экономь время

Последний раз редактировалось Naydav; 07.07.2008 в 19:17..
 
Ответить с цитированием

  #2  
Старый 07.07.2008, 19:19
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


По умолчанию

Цитата:
GreenBear, работает, но немного не так, заменяет "right" на
PHP код:
preg_replace('/[^="\']("|\'|=|)(right)("|\'|=|)[^"\.\']/i''\\1<strong>\\2</strong>\\3'$text); 
 
Ответить с цитированием

  #3  
Старый 07.07.2008, 21:39
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Есть у когонить пример такого скрипта (хотябы подобие):
Скрипт выводит список файлов в директории и рядом с ними ссылка или что то в этом роде при нажатии на которую файл уходит по почте.
 
Ответить с цитированием

  #4  
Старый 07.07.2008, 22:18
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


По умолчанию

Цитата:
Сообщение от svesve  
Есть у когонить пример такого скрипта (хотябы подобие):
Скрипт выводит список файлов в директории и рядом с ними ссылка или что то в этом роде при нажатии на которую файл уходит по почте.
ну вот если по простому:
PHP код:
<?php
$directory
"нужная директория";
$dir opendir($directory);

if(!isset(
$_GET['file']))
{
    while(
$d=readdir($dir))
    {        
        if(
is_file($d)) echo $d.'&nbsp;&nbsp;&nbsp; <a href="red.php?file='.$d.'">Отправить</a><br>';
    }
}
else
{
    
mail("куда отправляем","тема",file_get_contents($directory."/".$_GET['file']));
}

?>
 
Ответить с цитированием

  #5  
Старый 07.07.2008, 22:26
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

Цитата:
Сообщение от scrat  
ну вот если по простому:
PHP код:
<?php
$directory
"нужная директория";
$dir opendir($directory);

if(!isset(
$_GET['file']))
{
    while(
$d=readdir($dir))
    {        
        if(
is_file($d)) echo $d.'&nbsp;&nbsp;&nbsp; <a href="red.php?file='.$d.'">Отправить</a><br>';
    }
}
else
{
    
mail("куда отправляем","тема",file_get_contents($directory."/".$_GET['file']));
}

?>
Кхм...на сколько я помню просто функцией mail() аттач послать нельзя)) Точнее чтоб послать надо
килограмм заголовков посылать вместе с содержимым.

Вот отличный класс для работы с мылом:
_http://dosug.dosugnn.ru/class.phpmailer.php.txt
 
Ответить с цитированием

  #6  
Старый 07.07.2008, 22:56
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


По умолчанию

Как мне по IP адресу получить хост???
Как реализованно на всех движках (e107 IPB phpBB) вот например:
77.87.207.129 [ nat.ucanet.ru ]
какой командой можно получить nat.ucanet.ru если у меня IP 77.87.207.129 ???
 
Ответить с цитированием

  #7  
Старый 07.07.2008, 23:16
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


По умолчанию

Цитата:
Сообщение от Nightmarе  
Как мне по IP адресу получить хост???
Как реализованно на всех движках (e107 IPB phpBB) вот например:
77.87.207.129 [ nat.ucanet.ru ]
какой командой можно получить nat.ucanet.ru если у меня IP 77.87.207.129 ???
gethostbyaddr()
 
Ответить с цитированием

  #8  
Старый 07.07.2008, 22:57
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме:
19975136

Репутация: 4536


По умолчанию

echo gethostbyaddr($_SERVER['REMOTE_ADDR']);
 
Ответить с цитированием

  #9  
Старый 07.07.2008, 23:15
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


По умолчанию

Цитата:
Сообщение от GreenBear  
echo gethostbyaddr($_SERVER['REMOTE_ADDR']);
Да вот нифига... по разному пробовал, определяет просто IP, а в движках именно хост, а это хост не определяет
 
Ответить с цитированием

  #10  
Старый 08.07.2008, 02:54
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме:
3941248

Репутация: 668


По умолчанию

если на сайте(например майл.ру) есть добовление коментариев на аяксе ...
как мне как на пхп имитировать такой запрос?

я проверил куда отсылаются данные и какие данные ... на пхп отослал нужные пост значения на нужный скрипт но мессага не добавилась... как быть?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.