Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Загрузка изображений скрипт PHP

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


     02.09.2014    Общие вопросы по PHP    1139

вопрос
Здравствуйте, подскажите пожалуйста как сделать чтобы загружало не только GIF изображение но и jpeg и png

Вот код в одном файле:
$uploaddir = 'pd_banner/';

$apend = $_POST['account'] . '.gif';

$uploadfile = "$uploaddir . $apend";

$ext = substr($_FILES['filename']['name'], 1 + strrpos($_FILES['filename']['name'], "."));

$valid_types = "gif";

if( $_FILES['filename']['size'] != 0 AND $_FILES['filename']['size'] <= 700000 AND $ext == $valid_types ) {
    if( move_uploaded_file($_FILES['filename']['tmp_name'], $uploadfile) ) {
        $size = getimagesize($uploadfile);

        if( $size[0] < 469 && $size[1] < 61 ) {

        } else {
            unlink($uploadfile);
        }
    }
}

Вот во втором:
if( file_exists("./pd_banner/" . $row['account'] . ".gif") ) {
    $print_banner = "<center><img src='./pd_banner/" . $row['account'] . ".gif' width='450px'></center><br>";
}

$print_text_server = $row['text_server'];

Ответа пока нет


Комментарии пользователей (8)

vitnet
218

2219 | 949

vitnet - 2 сентября 2014 14:01 - Эксперт

      $valid_types = array ("jpg", "png", "jpg", "jpeg", "gif");

... AND in_array($ext, $valid_types) ) {

hakypuhbiu
92 | 3

hakypuhbiu - 2 сентября 2014 15:09 - Юзер

Прикол заливает все баннера, но переименовывает их всех в GIF :) может где то нужно $ext добавить или как то

И еще флешь можно сделать на этом скрипте или заморочек куча?

vitnet
218

2219 | 949

vitnet - 2 сентября 2014 19:09 - Эксперт

Так вы же сами задали ему расширение :)

$apend = $_POST['account'] . '.gif';

hakypuhbiu
92 | 3

hakypuhbiu - 2 сентября 2014 19:53 - Юзер

Нет так было хотел переделать) Чтобы у всех картинок был свой формат начальный
И интересно флешь баннера можно сделать на этом скрипте?

vitnet
218

2219 | 949

vitnet - 2 сентября 2014 19:56 - Эксперт

$image = $_FILES['filename']['tmp_name'];
$image_name = $_FILES['filename']['name'];
$image_size = $_FILES['filename']['size'];
$img_name_arr = explode( ".", $image_name );
$type = totranslit( end( $img_name_arr ) );

$banner = $db->safesql( $_POST['account'] );

$banner_size = '500'; // Kb.

if( $image_name != "" ) $image_name = totranslit( stripslashes( $img_name_arr[0] ) ) . "." . $type;

if( strpos( $image_name, "php" ) !== false ) die("Hacking attempt!");
    
if( is_uploaded_file( $image ) ) {    
    if( $image_size <= ($banner_size * 1024) ) {
        $allowed_extensions = array ("jpg", "png", "jpg", "jpeg", "gif" );

        if( in_array( $type, $allowed_extensions ) AND $image_name ) {

            $res = @move_uploaded_file( $image, ROOT_DIR . "/pd_banner/" . $banner . "." . $type );

            if( $res ) {
                $size = getimagesize( ROOT_DIR . "/pd_banner/" . $banner . "." . $type );

                if( $size[0] < '469' && $size[1] < '61' ) {
                    $account = $banner . "." . $type;

                    //$db->query( "UPDATE " . USERPREFIX . "_users SET account='" . $account . "' WHERE user_id = '" . $id . "'" );
                } else {
                    @unlink( ROOT_DIR . "/pd_banner/" . $apend . "." . $type );
                }
            } else die( "Произошла ошибка при загрузки Баннера." );
        } else die( "К загрузке разрешены только файлы с расширением JPG, PNG или GIF." );
    } else die( "Максимальный размер загружаемой картинки не должен превышать " . $banner_size . " Kb." );
}

hakypuhbiu
92 | 3

hakypuhbiu - 2 сентября 2014 20:07 - Юзер

Этот код заменить на тот что у меня?
После установки сайт не загружается наверное ставлю не так.:)

hakypuhbiu
92 | 3

hakypuhbiu - 2 сентября 2014 14:55 - Юзер

Спасибо попробую

hakypuhbiu
92 | 3

hakypuhbiu - 2 сентября 2014 15:07 - Юзер

Прикол заливает все баннера, но переименовывает их всех в GIF :) может где то нужно $ext добавить или как то

И еще флешь можно сделать на этом скрипте или заморочек куча?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы