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

Скрипт загрузки фоток
  #1  
Старый 21.07.2008, 09:17
MafiaBoy3
Banned
Регистрация: 14.04.2007
Сообщений: 297
С нами: 10040168

Репутация: 38
По умолчанию Скрипт загрузки фоток

Нужен простой, гибкий и удобный скрипт для загрузки фоток на сервер. В моей коллекции его нет, поделитесь если у кого есть. Очень благодарен.
 
Ответить с цитированием

  #2  
Старый 21.07.2008, 10:24
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
С нами: 10597286

Репутация: 694


По умолчанию

гы. это ты для своей социалки делаешь? есть такая функция в php называеться copy() поищи по ней.
 
Ответить с цитированием

  #3  
Старый 21.07.2008, 13:20
heretic1990
Постоянный
Регистрация: 02.07.2008
Сообщений: 472
С нами: 9399011

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

В архиве находятся 10 популярных скриптов для создания хостинга картинок. Теперь выбрав наиболее понравившийся скрипт, Вы сможете создать собственный сервис по хранению изображений, наподобие foto.radikal, imageshack или других подобных сайтов.

Список скриптов в архиве (1.42 Mb):

CoSiS Free Image Host Script
EasyImageHoster 1.35
GMPH v1.0.3
Image Upload
Image Host Script 0.7
DXL dev\' Image Hosting Script
ImgUpload 2.0.1
UPLOADIMAGE v1.02
imageshack.us Clone
eXtreme Photo Hosting 2006

Скачать тут => http://depositfiles.com/files/2987111
 
Ответить с цитированием

  #4  
Старый 21.07.2008, 13:29
Doom123
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
С нами: 10262314

Репутация: 668


По умолчанию

PHP код:
function avup($folder,$fname,$nname,$x,$y

    
$data $_FILES[$fname]; 
    
$tmp $data['tmp_name']; 
    
$file $data['name']; 
     
    if (
preg_match('#[^\?\"/:\*<>\|]+?\.\w+?#'$file)) 
    { 
        if (@
file_exists($tmp)) 
        { 
            if ((
$a strrpos($file'.')) !== false
            { 
                
$f strtolower(substr($file$a)); 
                
$name $folder.'/'.$nname
                switch(
$f)  
                { 
                    case 
'.gif'
                        
$img = @imagecreatefromgif($_FILES[$fname]['tmp_name']); 
                        
$name .= $f
                        break; 
                    case 
'.png'
                        
$img = @imagecreatefrompng($_FILES[$fname]['tmp_name']); 
                        
$name .= $f
                        break; 
                    case 
'.jpg': case '.jpeg'
                        
$img = @imagecreatefromjpeg($_FILES[$fname]['tmp_name']); 
                        
$name .= $f
                        break; 
                } 
            } 
            if(
$img
            { 
                if(
imagesx($img) <= $x && imagesy($img) <= $y
                    if(@
move_uploaded_file($tmp$name)) 
                    return 
$nname.$f
            } 
        } 
    } 
    return 
false

использование

PHP код:
<?php
if (isset($_POST['up']))
{
    
$chrs chr(mt_rand(97122)) . time();
    if ((
$xy avup('Foto''file'$chrs200300)))
    {
        
//Код...
    
}
}
?>

<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="up"></form>
 
Ответить с цитированием

  #5  
Старый 21.07.2008, 14:44
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
С нами: 10169427

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

Функция, которую использую для заливки картинок на сервант.
Сохраняет картинки в формате jpg с качеством 80 единиц.

PHP код:
function LoadImage($fileinfo$filepath$width null$height null)
{
    
$allowed  = array ('gif','png','jpg');
    
$filename    trim($fileinfo['name'], "\x00..\x1F");
    
$tmpname    explode('.',$filename);
    
$extension     $tmpname[count($tmpname)-1];
    
$allowed     in_array($extension,$allowed);
    

    if (
$allowed)
    {
        list(
$rwidth$rheight) = getimagesize($fileinfo['tmp_name']);
        
        if (
$width == null$width $rwidth;
        if (
$height == null$height $rheight;
        
        
$image    imagecreatetruecolor($width$height);
        
$nimage null;
        
        switch (
$extension)
        {
            case 
'gif':
                
$nimage    imagecreatefromgif($fileinfo['tmp_name']);
                break;
            
            case 
'jpg':
                
$nimage    imagecreatefromjpeg($fileinfo['tmp_name']);
                break;
            
            case 
'png':
                
$nimage    imagecreatefrompng($fileinfo['tmp_name']);
                break;
            
            default:
                return 
false;
                break;
        }
        
        if (!
imagejpeg($image$filepath80))
        {
            return 
false;
        }
        
        return 
true;
    }
    else
    {
        return 
false;
    }

$fileinfo - нужный элемент из массива $_FILES

$filepath - путь и название файла, в который будем писать картинку

$width, $height - размеры картинки, до которых нужно сжать/растянуть картинку. Если null - размер не меняем.

пример использования:
PHP код:
if (LoadImage($_FILES['photo'], './photos/myphoto.jpg')
{
    echo 
'All ok!';
}
else
{
    echo 
'Error!';

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

  #6  
Старый 23.07.2008, 14:16
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
С нами: 10191686

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

удалите нафих эту рекламу -^

Для загрузки лучше использовать класс
Classes: Graphics -389
http://phpclasses.segmenta.ru/browse/class/11.html
Там найдешь массу интересной инфы по работе с картинками, и не только по аплоаду

Или вот такой вот например
Применение
Код нужно немного переделать для аплоада только 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, хотя в данном случае, это и не актуально
Пользуйся классами - экономь время

пс А в честь чего, многим новым темам, начали рейтинг - 5 ставить ?

Последний раз редактировалось Naydav; 23.07.2008 в 14:24..
 
Ответить с цитированием

  #7  
Старый 28.07.2008, 00:46
skivig
Новичок
Регистрация: 31.07.2007
Сообщений: 15
С нами: 9883993

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

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

  #8  
Старый 28.07.2008, 15:32
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
С нами: 10191686

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

Цитата:
Сообщение от skivig  
А есть у когонибудь среализацией imagemagic тоесть там превьюшки через него, водные изображения...?
Я ж уже отвечал:
Цитата:
_http://phpclasses.segmenta.ru/browse/class/11.html
Graphics - 387

Там ты найдешь все - и превьюхи, и вотремарк, и кропы, и зумы, и установка нового размера, фиксированого, не фиксированого, и много чего другого
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[vbs] скрипт для загрузки файлов Gara С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 1 11.06.2008 06:48
Нужен скрипт загрузки файлов на страницу плз goodkit PHP 4 01.02.2008 04:08



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


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




ANTICHAT ™ © 2001- Antichat Kft.