PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
JustUserR
Отправлено: 08 Марта, 2011 - 16:48:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




SAD пишет:
В этом случае удаляться ничего не должно
рэгэкспешники помогайте)
Для осуществления решения предполагаемой задачи, допустимо использование средств XML-анализаторов элементов целевого документа, позволяющих обеспечить поиск вложенных объектов по указанному критерию, в качестве которого может использоваться как значения информационных полей, так и параметр относительно пути расположения элемента


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 08 Марта, 2011 - 19:28:17
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




ALEN пишет:
Сделал я готовое решение, думаю должно подойти

я так около 1000 изображений должен проверить)
я думаю поискать закономерности, как JustUserR сказал c позиционированием. Но от помощи еще не отказуюсь
 
 Top
ALEN
Отправлено: 08 Марта, 2011 - 20:23:27
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD
Так и не пойму в чем проблема такого способа. Пустое изображение, даже с очень нереально большим разрешением будет весить несколько килобайт и после сразу удаляться. :

PHP:
скопировать код в буфер обмена
  1. $img='1.png'; // файл который проверяем
  2. function img_clean($img,$tmpdir=''){
  3. $tmpimg=$tmpdir.time().rand(111111,999999).".png";  // временный файл для теста
  4. $imglogo=new cms_img;
  5. $imglogo->load($img);  // загружаем картинку
  6. $sxy=$imglogo->sxy();  // получаем размеры проверяемой картинки
  7. $imglogo->create($sxy['w'],$sxy['h'],"#ffffff");  // Создаем картинку с такими же размерами, только чистую
  8. $imglogo->save($tmpimg); // Сохраняем временное изображение
  9. $imglogo->destroy();
  10. if(filesize($tmpimg)<filesize($img)){  unlink($tmpimg); return 1;  } else { unlink($tmpimg); return 0; }
  11. }
  12.  
  13. if(img_clean($img,'')==0){
  14. $string=preg_replace("наша картинка удаляется тут","",$string);
  15. }


Ты вообще вникнул в идею?

Кстати если картинка залита другим фоном, то вес изображения идет вниз, редко поднимается и если поднимается то только на несколько байт, например:
$imglogo->create(350,350,"#ffffff"); = 1095 байт
$imglogo->create(350,350,"#0fa000"); = 1096 байт - зеленый
$imglogo->create(350,350,"#000000"); = 436 байт
$imglogo->create(350,350,"#a00d00"); = 1096 байт - красный
$imglogo->create(2350,2350,"#000000"); = 16185 байт
$imglogo->create(2350,2350,"#a00d00"); = 21398 байт - но думаю таких огромных изображений у тебя нет, да даже если есть, то оно быстро обрабатывается и освобождает место и память


А позиционирование:
SAD пишет:
так ведь есть случаи когда просто идут в подряд 2 картинки "нормальные" - порежу не то что надо

(Отредактировано автором: 08 Марта, 2011 - 20:42:48)

 
 Top
SAD
Отправлено: 09 Марта, 2011 - 07:50:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




вот удалю я это изображение, но путь на само изображение у меня в html все равно прописан. вместо пустого изображения будет иконка недоступности.
 
 Top
ALEN
Отправлено: 09 Марта, 2011 - 20:53:22
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD
От чего там будет недоступность? Удаляй по регулярке не нужный блок с изображением.

P.S. Что с тобой? Последствия праздников?
 
 Top
SAD
Отправлено: 09 Марта, 2011 - 21:19:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




ALEN пишет:
От чего там будет недоступность? Удаляй по регулярке не нужный блок с изображением.

если я найду этот блок, то само изображение удалять не нужно будет))
так кто сможет регулярочку набросать на этот случай http://forum.php.su/topic.php?fo...93150#1299593150
 
 Top
ALEN
Отправлено: 09 Марта, 2011 - 21:32:58
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD
Ты не можешь вникнуть или неправильно выражаешься, или я не правильно доношу.
Смотри, проверяешь чистое или нет изображение, если чистое, то удаляешь регуляркой лишний кусок кода, где твоя картинка чистая лежит.
 
 Top
SAD
Отправлено: 09 Марта, 2011 - 21:47:32
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




понял)
попробую применить
 
 Top
ALEN
Отправлено: 09 Марта, 2011 - 21:50:32
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD

Вернулся? Голливудская улыбка
 
 Top
SAD
Отправлено: 09 Марта, 2011 - 22:29:05
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




В общем все оказалось еще проще. Размеры пустого файла(на самом деле это прозрачный gif) получались 1 на 1 px, после взятия размера изображения. Легко его отследить было

(Отредактировано автором: 10 Марта, 2011 - 01:38:34)

 
 Top
ALEN
Отправлено: 10 Марта, 2011 - 07:52:19
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD
Ну вот...
 
 Top
SAD
Отправлено: 10 Марта, 2011 - 07:54:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Правда интересно почему размеры 1 на 1 получались, хотя на самом деле размеры побольше. Походу стандартные функции не могут определить размер прозрачного gif
 
 Top
ALEN
Отправлено: 10 Марта, 2011 - 07:54:39
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD пишет:
стандартные функции

это про какие ты?
 
 Top
SAD
Отправлено: 10 Марта, 2011 - 07:56:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2511
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




imagesx и imagesy
 
 Top
ALEN
Отправлено: 10 Марта, 2011 - 10:40:27
Post Id



Участник


Покинул форум
Сообщений всего: 1453
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 10 раз(а)




SAD
Ты наверное передаешь в imagesy адрес изображения?

PHP:
скопировать код в буфер обмена
  1. $imglogo=new cms_img;
  2. $imglogo->load($img);  // загружаем картинку
  3. $sxy=$imglogo->sxy();  // получаем размеры проверяемой картинки массивом с ключами h и w
  4.  
  5. /*
  6. $sxy['w'] - ширина картинки
  7. $sxy['h'] - высота картинки
  8. */

(Отредактировано автором: 10 Марта, 2011 - 10:46:34)

 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB