Загрузка изображений на сайт.

Тема в разделе "Open Source", создана пользователем RazorElectric, 8 фев 2009.

Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. RazorElectric

    RazorElectric Писатель

    Регистр.:
    19 фев 2008
    Сообщения:
    9
    Симпатии:
    2
    Ищу максимально простой скрипт для загрузки изображений.
     
  2. Mons

    Mons

    Регистр.:
    2 апр 2006
    Сообщения:
    1.590
    Симпатии:
    920
    King7N и RazorElectric нравится это.
  3. duncan

    duncan батяр з личакова

    Регистр.:
    10 апр 2007
    Сообщения:
    1.590
    Симпатии:
    437
    Код:
    <?
    # upload_tmp_dir = ПОЛНЫЙ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДУТ_ХРАНИТЬСЯ_ЗАГРУЖАЕМЫЕ(ВРЕМЕННЫЕ)_ФАЙЛЫ
    # ^ Например: upload_tmp_dir = d:/server/php/uploads
    # и
    # upload_max_filesize = 2M
    # ^ Максимальный размер загружаемых файлов (в нашем случаем 2 МБ).
    
    // Куда сохраним файл?
    // Давайте в папке с этим скриптом,
    // создадим папку "files", туда-то и будем
    // сохранять все загружаемые файлы.
    
    $path=GetCWD()."/files";
    
        // Проверяем на существование папку $path
    
        if(!file_exists($path))
        die("<b>Пожалуйста, создайте папку <font color=red>".$path."</font> и <a href=?>повторите попытку загрузить файл</a>.</b>");
    
    // Выводим форму для загрузки файла.
    
    if(empty($_FILES['UserFile']['tmp_name']))
    echo
    "<form method=post enctype=multipart/form-data>
    Выберите файл: <input type=file name=UserFile>
    <input type=submit value=Отправить>
    </form>";
    
    // Если файл не загружен по каким-то причинам, выводим ошибку.
    
    elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']))
    die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>");
    
    // Если файл удачно загружён на сервер, делаем вот что...
    
    else
    {
        // Переносим загружённый файл в папку $path
    
        if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name']))
    
        // Если не удалось перенести файл, выводим ошибку:
    
        die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>");
    
        // Если всё Ok, то выводим инфо. о загружённом файле.
    
        else
        echo
        "<center><b>Файл \"<font color=red>".$_FILES['UserFile']['name']."\"</font> успешно загружён на сервер!</font></b></center>".
        "<hr>".
        "Тип файла: <b>".$_FILES['UserFile']['type']."</b><br>".
        "Размер файла: <b>".round($_FILES['UserFile']['size']/1024,2)." кб.</b>".
        "<hr><center><a href=?>Загрузить ещё один файл!</a></center>";
    }
    ?> 
    
    автор: манликс.
     
    King7N и RazorElectric нравится это.
  4. alexandr1235

    alexandr1235 Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    121
    Симпатии:
    34
    скрипт водяного знака
    Создаёшь файл _watermark.php
    Код:
    <?

    waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "_watermark.png", "bottom=5,right=5");

    function waterMark($original, $watermark, $placement = 'bottom=5,right=5', $destination = null) {
    $info_o = @getImageSize($original);
    if (!$info_o)
    return false;
    $info_w = @getImageSize($watermark);
    if (!$info_w)
    return false;

    list ($vertical, $horizontal) = split(',', $placement,2);
    list($vertical, $sy) = split('=', trim($vertical),2);
    list($horizontal, $sx) = split('=', trim($horizontal),2);

    switch (trim($vertical)) {
    case 'bottom':
    $y = $info_o[1] - $info_w[1] - (int)$sy;
    break;
    case 'middle':
    $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy;
    break;
    default:
    $y = (int)$sy;
    break;
    }

    switch (trim($horizontal)) {
    case 'right':
    $x = $info_o[0] - $info_w[0] - (int)$sx;
    break;
    case 'center':
    $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx;
    break;
    default:
    $x = (int)$sx;
    break;
    }

    header("Content-Type: ".$info_o['mime']);

    $original = @imageCreateFromString(file_get_contents($original));
    $watermark = @imageCreateFromString(file_get_contents($watermark));
    $out = imageCreateTrueColor($info_o[0],$info_o[1]);

    imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]);
    imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);

    switch ($info_o[2]) {
    case 1:
    imageGIF($out);
    break;
    case 2:
    imageJPEG($out);
    break;
    case 3:
    imagePNG($out);
    break;
    }

    imageDestroy($out);
    imageDestroy($original);
    imageDestroy($watermark);

    return true;
    }

    ?>


    Создаёшь файл .htaccess

    Код:
    Options +Indexes
    DirectoryIndex index.htm

    <FilesMatch "\.(gif|jpg|png)$">
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
    </FilesMatch>

    Создаёшь папку watermark и заливаешь туда файл _watermark.php с картинкой в png ( _watermark.png ).

    А, файл .htaccess заливаешь туда где у тебя папка с картинками- images или photos
    И на каждой картинке будет твой копирайт
     
    King7N и RazorElectric нравится это.
  5. Mons

    Mons

    Регистр.:
    2 апр 2006
    Сообщения:
    1.590
    Симпатии:
    920

    Кажись ты чуток не в тему и не туда влез с этим постом.
     
  6. Arnor

    Arnor Создатель

    Регистр.:
    5 фев 2009
    Сообщения:
    36
    Симпатии:
    12
    PHP:
    <?
    $max_image_width    380;
    $max_image_height    600;
    $max_image_size        64 1024;
    $valid_types         =  array("gif","jpg""png""jpeg");

    if (isset(
    $_FILES["userfile"])) {
        if (
    is_uploaded_file($_FILES['userfile']['tmp_name'])) {
            
    $filename $_FILES['userfile']['tmp_name'];
            
    $ext substr($_FILES['userfile']['name'], 
                
    strrpos($_FILES['userfile']['name'], "."));
            if (
    filesize($filename) > $max_image_size) {
                echo 
    'Error: File size > 64K.';
            } elseif (!
    in_array($ext$valid_types)) {
                echo 
    'Error: Invalid file type.';
            } else {
                 
    $size GetImageSize($filename);
                 if ((
    $size) && ($size[0] < $max_image_width
                    && (
    $size[1] < $max_image_height)) {
                    if (@
    move_uploaded_file($filename"/www/htdocs/upload/")) {
                        echo 
    'File successful uploaded.';
                    } else {
                        echo 
    'Error: moving fie failed.';
                    }
                } else {
                    echo 
    'Error: invalid image properties.';
                }
            }
        } else {
            echo 
    "Error: empty file.";
        }
    } else {
        echo  
    '
        <form enctype="multipart/form-data" method="post"> 
        <input type="hidden" name="MAX_FILE_SIZE" value="64000"> 
        Send this file: <input name="userfile" type="file"> 
        <input type="submit" value="Send File"> 
        </form>'
    ;
    }
    ?>
    Вот такой скрипт, отлично работает, но по-моему слишком просто, лучше заюзать Zend File Transfer
     
    King7N нравится это.
  7. Steelapple

    Steelapple Прохожие

    Если нравится тот, что на imgshare.ru стоит, могу отдать. Пишите в личку, если нужен. Я его здесь, на нуллде, нашел, немного себя переделал. В полне хороший скрипт получился.
     
  8. sergeysnl

    sergeysnl Читатель

    Заблокирован
    Регистр.:
    10 фев 2008
    Сообщения:
    331
    Симпатии:
    100
    Steelapple выложи сюда, для всех
     
  9. Steelapple

    Steelapple Прохожие

    Пожалуйста.
    http://imgshare.ru/imgshare.zip
     
  10. Revenge-R

    Revenge-R Mr. Revenge-R

    Регистр.:
    6 фев 2009
    Сообщения:
    899
    Симпатии:
    319
    А есть такой чтобы переливал с http адрса на сервак?
    Тоесть силами самого сервака! А то у меня интернет говняный...
     
Статус темы:
Закрыта.