Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2008, 18:00   #11
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

а у меня его нет... если что-то надо прописать, подскажите.
Romanbl4 вне форума Ответить с цитированием
Старый 02.02.2008, 18:04   #12
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Не забываем перед работой с gd проверять ее наличие:
PHP код:
$lib_ext dirname($_SERVER['SCRIPT_FILENAME']).'/mylibs/php_gd.dll';
if(!
extension_loaded('gd') and is_file($lib_ext)){ dl("mylibs/php_gd.dll");}
if(!
extension_loaded('gd')){ print "Нет файла библиотеки $lib_ext";} 
SkyM@n вне форума Ответить с цитированием
Старый 02.02.2008, 18:09   #13
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Какая у вас версия GD?
Давайте по-порядку. КОд:
PHP код:
<?php
function TypeFile ($img_name){
     
$arr = @GetImageSize ($img_name);
     return 
$arr[2]; 
}

    
// функция по созданию объектов из уже готовых рисунков
function LoadImage ($img_name){
    
// применим TypeFile
    //елси ==2 то формат Jpeg, создаем Jpeg объект
    
if(TypeFile ($img_name)==2) {$im = @ImageCreateFromJpeg($img_name); }

    
//елси ==3 то формат Png, создаем Png объект
    
if(TypeFile ($img_name)==3) {$im = @ImageCreateFromPng($img_name); }

    
// если были другие форматы то объекта нет
    // создаем новый объект и пишем в нем ошибку
    
if (!$im){
       
$im ImageCreate(200,20);
       
$bgc ImageColorAllocate($im255255255);
       
$tc ImageColorAllocate($im000);
       
ImageString($im233"Error loading $img_name"$tc);
      }
    
// выводим созданный объект

return $im;
}

    
// имена рисунков
$img1 'banner.png';
$img2 'bad.jpg';

    
// подставим сначала $img1, потом поменяйте на $img2
$img_name "images/$img1";

    
// запускаем функцию
$im LoadImage ($img_name);
    
// говорим броузеру, что это рисунок
header("Content-type: image/png");
    
// выводим в броузер рисунок
ImagePng($im);
    
// освобождаем память
ImageDestroy($im);
?>
Ошибки есть? Трассировку сделайте.
Где у вас не работает?
SkyM@n вне форума Ответить с цитированием
Старый 02.02.2008, 19:58   #14
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

При добавлении
PHP код:
$lib_ext dirname($_SERVER['SCRIPT_FILENAME']).'/mylibs/php_gd.dll';
if(!
extension_loaded('gd') and is_file($lib_ext)){ dl("mylibs/php_gd.dll");}
if(!
extension_loaded('gd')){ print "Нет файла библиотеки $lib_ext";} 
картинки стали отображаться. спасибо!
Но только есть еще проблемка.
При загрузке картинок в конце скрипт их выводит все в таблицу, чтобы можно было посмотреть, что закачали.
При повторной загрузке других картинок выводятся те, что закачивались вначале. Нажимаем F5 - обновить - и тогда уже выводятся новые. Может нужно какой-то буффер очищать?
Romanbl4 вне форума Ответить с цитированием
Старый 02.02.2008, 21:19   #15
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Все. С этим справился. Дописываем к имени картинки "?p" типа "pic.jpg?p=<?=time();?>" и все ок. Всем спасибо.

Последний раз редактировалось Romanbl4; 03.02.2008 в 14:30.
Romanbl4 вне форума Ответить с цитированием
Старый 02.02.2008, 22:57   #16
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Romanbl4 Посмотреть сообщение
При добавлении
PHP код:
$lib_ext dirname($_SERVER['SCRIPT_FILENAME']).'/mylibs/php_gd.dll';
if(!
extension_loaded('gd') and is_file($lib_ext)){ dl("mylibs/php_gd.dll");}
if(!
extension_loaded('gd')){ print "Нет файла библиотеки $lib_ext";} 
картинки стали отображаться. спасибо!
ЭЭээм.... Вряд ли это от этого они начали отображаться, так как там всего лишь стоит проверка на то, загружена ли библиотека GD. Если не загружена - загрузить с папки папка_со_скриптом/mylibs (имя придумал я)
Хотя, если у вас есть такая папки и там лежит файл php_gd.dll, то все логично.
SkyM@n вне форума Ответить с цитированием
Старый 03.02.2008, 14:32   #17
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Не знаю конечно. Но больше я ничего не добавлял, кроме этих трех строк. Может благодаря этим трем строкам сервер "вспоминает" - "ах да!!! у меня же есть библиотека для работы с графическими файлами"
Romanbl4 вне форума Ответить с цитированием
Старый 03.02.2008, 21:30   #18
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Жжоте )
SkyM@n вне форума Ответить с цитированием
Старый 04.02.2008, 15:30   #19
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Все оказалось намного более банально... Некоторые картинки были в каком-то новом формате jpeg2000 но пишется он также - jpg Вот они и не отображаются. А я всю голову сломал и Вас еще напряг...
Все равно огромное спасибо!
Romanbl4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт приема фотографий на печать через форму на сайте Hellog PHP 8 29.01.2009 16:25
Скрипт приема фотографий на печать через форму на сайте Hellog Фриланс 2 05.06.2008 15:37
закачка по ftp Lonix Работа с сетью в Delphi 1 06.11.2007 21:34
Как изменить стандартную форму на форму любой сложности QwErEn Общие вопросы Delphi 9 08.06.2007 11:44