Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка картинки на сервер.(проблема с самой загрузкой)

9.0K
04 октября 2006 года
Scottie
33 / / 12.05.2006
Добрый день. Помогите плз разобраться с проблемкой. пользователь через обычную форму загружает картинку на сервер(при этом ее размеры я меняю на нужные мне). С небольшими картинками все работает нормально...а фото размером около 1мб и более не грузятся,скрипт как будто подвисает. Что интересно,эта проблема у меня только на хостинге! На локально сервере загружаются картинки любого размера. в чем может быть проблема?

а еще я видел на одном сайте такую фишку,к сожалению не могу дать ссылку,тк сайт с закрытой регистрацией....в общем там загрузка фото реализована следующим образом: подгружается аплет....и если с этим не было никаких проблем,то в окошке видны все папочки диски и тд...как будто просматриваешь обычным эксплорером в виндоусе. а файлы с картинками видны в миниатюре....рядом с тем что закачать можно поставить галочку....в общем так. Я так понял это сделано с помощью ActiveX? насколко сложно это делается?
4
04 октября 2006 года
mike
3.7K / / 01.10.2002
Посмотри настройки PHP - post_max_size и upload_max_filesize
9.0K
04 октября 2006 года
Scottie
33 / / 12.05.2006
[QUOTE=mike]Посмотри настройки PHP - post_max_size и upload_max_filesize[/QUOTE]

upload_max_filesize = 2MB
post_max_size = 4MB

я пытаюсь загрузить картинку 1.6 МБ

попробовал добавить set_time_limit(); вроде бы не помогло
4
04 октября 2006 года
mike
3.7K / / 01.10.2002
Попробуй увеличить upload_max_filesize до 4Mb и посмотри.
9.0K
04 октября 2006 года
Scottie
33 / / 12.05.2006
[QUOTE=mike]Попробуй увеличить upload_max_filesize до 4Mb и посмотри.[/QUOTE]

попробовал....без результатов. вот код....может что-то тут стоит изменить. зависает точно где-то тут,даже не где то,а после unlink. фаил удаляется,а дальше ничего не происходит(после сохранения нового файла должен еще один обработаться и он остается на диске,этот код я не включил).

Код:
function ResizeImg( $image, $newWidth, $newHeight)
{
    $type = getimagesize($image);

    switch($type[2])
    {
        case "1": $srcImage = ImageCreateFromGIF( $image ); break;
        case "2": $srcImage = ImageCreateFromJPEG( $image ); break;
        case "3": $srcImage = ImageCreateFromPNG( $image ); break;
        default: $srcImage = ImageCreateFromGIF( $image ); break;
    }

    $srcWidth = ImageSX( $srcImage );
    $srcHeight = ImageSY( $srcImage );

    $ratioWidth = $srcWidth/$newWidth;
    $ratioHeight = $srcHeight/$newHeight;

    if( $ratioWidth < $ratioHeight)
    {
        $destWidth = $srcWidth/$ratioHeight;
        $destHeight = $newHeight;
    }
    else
    {
        $destWidth = $newWidth;
        $destHeight = $srcHeight/$ratioWidth;
    }

    $destImage = imagecreatetruecolor( $destWidth, $destHeight);

    ImageCopyResized( $destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight );

    switch($type[2])
    {
        case "1":ImageGif( $destImage ); break;
        case "2":ImageJpeg( $destImage );break;
        case "3":ImagePng( $destImage  ); break;
        default: ImageGif( $destImage ); break;
    }

    ImageDestroy( $srcImage );
    ImageDestroy( $destImage );
}

    //----------------------------------------------------------------//

if( isset( $_FILES['pic'] ) )
{

    if( $profile['Pro_photo']!='' and $profile['Pro_photo']!='profile_foto/default.jpg' ) unlink($profile['Pro_photo']);

    ob_start();

    ResizeImg( $_FILES['pic']['tmp_name'], 250, 150 );

    $resizedImage = ob_get_contents();

    ob_clean();

    $type=getimagesize( $_FILES['pic']['tmp_name'] );

    $t=uniqid("1") ;

    switch( $type[2] )
    {
        case "1": $file = $userName.$t.".gif"; break;
        case "2":$file = $userName.$t.".jpg";break;
        case "3":$file = $userName.$t.".png"; break;
        default: $file = $userName.$t.".gif"; break;
    }

    $fp = fopen("profile_foto/$file", 'w');

    fwrite($fp, $resizedImage);

    fclose($fp);
}
860
04 октября 2006 года
Abell2000
138 / / 15.01.2003
У вас проблема не с загрузкой картинки, а с ее обработкой, сами подумайте вы загружаете, например, jpeg файл двухметрового размера, скрипт его должен распаковать, чтоб обработать. Я уже сталкивался с таким, например 2.5мб jpeg занимает 43мб, так что смотрите параметер memory_limit
9.0K
05 октября 2006 года
Scottie
33 / / 12.05.2006
[QUOTE=Abell2000]У вас проблема не с загрузкой картинки, а с ее обработкой, сами подумайте вы загружаете, например, jpeg файл двухметрового размера, скрипт его должен распаковать, чтоб обработать. Я уже сталкивался с таким, например 2.5мб jpeg занимает 43мб, так что смотрите параметер memory_limit[/QUOTE]
точно,то что надо! все получилось!

спасибо,ребят,за помощь!

а как насчет второго вопроса? сложно ли написать такой аплет?
9.0K
11 октября 2006 года
Scottie
33 / / 12.05.2006
эмм....вот нашел такую штуку http://uploader.versalsoft.com/UploaderDemo/traditionalImageUploader.asp,собственно говоря это то, что мне нужно...хочу ее себе прикрутить. но она сделана с помощью ActiveX ....это получается,что вся эта красота работает только в IE? например,в моей опере эта штука не пашет. есть ли какие аналоги,чтобы работало хотя бы на самых популярных браузерах?

а еще....кто-нибудь работал с ImageMagick? я просто использую GD и чет не устраивает меня качество получаемых фото.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог