[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите как PHP убрать header картинки?
abit
Подскажите как PHP убрать header картинки?

Подразумевавшие header т.е. когда ты делаешь фото любым фотоаппаратом, то у фотки остается подпись того каким фотиком это сделано, когда это сделано и т.д.

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



Спустя 2 минуты, 44 секунды (2.09.2010 - 15:51) linker написал(а):
Читай на предмет IPTC

Спустя 54 минуты, 24 секунды (2.09.2010 - 16:45) abit написал(а):
А примерно где это почитать ...

Спустя 36 минут, 41 секунда (2.09.2010 - 17:22) abit написал(а):
Да и кто то может подсказать какие еще данные хранит картинка в себе ?

я тут нашел такую табличку ... что и для чего это кто может подсказать

Write_File_Info.php Пример скрипта, который получает данные файла из Интернета и записывает данные в файл JPEG
PIM.php Функции для чтения Print Image Matching информации
XMP.php Функции для чтения и записи XMP / RDF / Dublin Core сегмента
get_exif_thumb.php Скрипт, который извлекает и отображает первую EXIF миниатюру
Edit_File_Info_Example.php Пример скрипта, для редактирования Photoshop File Info
IPTC.php Функции для чтения и записи IPTC-NAA ММВ информации
get_ps_thumb.php Скрипт, который извлекает и отображает Photoshop IRB миниатюру
pjmt_utils.php Функции полезности для Инструментарий
get_casio_thumb.php Скрипт, который извлекает и отображает Casio типа 2 EXIF Makernote миниатюру
JFIF.php Функции для чтения и записи сегмента JFIF
TIFFExample.php Пример сценария, показывающий, как читать EXIF из файлов TIFF
EXIF_Tags.php Внутренние определения теги EXIF
Edit_File_Info.php Производит HTML для Photoshop File Info онлайн редактора
PictureInfo.php Функции для чтения и записи информации сегмента Фото
Toolkit_Version.php Обеспечивает единое место, где сохраняется текущая версия инструментария.
XML.php Функции для анализа и построения XML Information
EXIF.php Функции для чтения EXIF информации
Unicode.php Функции для работы с UTF-8 и UTF-16 строк Unicode, не нуждаясь в PHP Extension MBstring
get_JFXX_thumb.php Скрипт, который извлекает и отображает JFIF миниатюру
Photoshop_IRB.php Функции для чтения и записи сегмента Photoshop IRB
Example.php Пример сценария, показывающий, как для отображения метаданных с JPEG файлами
EXIF_Makernote.php Встроенные функции для чтения информации EXIF Makernote
Photoshop_File_Info.php Функции для чтения и записи метаданных так же, как Photoshop записывает данные файла
JPEG.php Функции для чтения и записи JPEG сегменты
get_minolta_thumb.php Скрипт, который извлекает и отображает Minolta EXIF Makernote миниатюру

т.е. я так понял IPTC это не единственные данные

Спустя 7 минут, 16 секунд (2.09.2010 - 17:29) abit написал(а):
вот тут еще код нашел


// iptc_make_tag() function by Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
$length = strlen($value);
$retval = chr(0x1C) . chr($rec) . chr($data);

if($length < 0x8000)
{
$retval .= chr($length >> 8) . chr($length & 0xFF);
}
else
{
$retval .= chr(0x80) .
chr(0x04) .
chr(($length >> 24) & 0xFF) .
chr(($length >> 16) & 0xFF) .
chr(($length >> 8) & 0xFF) .
chr($length & 0xFF);
}

return $retval . $value;
}

// Path to jpeg file
$path = 'd183d0b0d0b7.jpg';

// We need to check if theres any IPTC data in the jpeg image. If there is then
// bail out because we cannot embed any image that already has some IPTC data!

$image = getimagesize($path, $info);

print "<pre>";
print_r($image);
print_r($info);

$iptc = iptcparse($info["APP13"]);

print_r($iptc);

var_dump($iptc);


if(isset($info['APP13'])) {
die('Error: IPTC data found in source image, cannot continue');
}

// Set the IPTC tags
$iptc = array(
'2#120' => 'Test image',
'2#116' => 'Copyright 2008-2009, The PHP Group'
);

// Convert the IPTC tags into binary code
$data = '';

foreach($iptc as $tag => $string)
{
$tag = substr($tag, 2);
$data .= iptc_make_tag(2, $tag, $string);
}

// Embed the IPTC data
$content = iptcembed($data, $path);

// Write the new image data out to the file.
$fp = fopen("_".$path, "wb");
fwrite($fp, $content);
fclose($fp);
?>


$iptc = array(
'2#120' => 'Test image',
'2#116' => 'Copyright 2008-2009, The PHP Group'
);


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

Спустя 11 минут, 39 секунд (2.09.2010 - 17:41) vasa_c написал(а):

Спустя 46 минут, 15 секунд (2.09.2010 - 18:27) abit написал(а):
ну это я уже видел

я вот такое нашел ...

// iptc_make_tag() function by Thies C. Arntzen
function iptc_make_tag($rec, $data, $value)
{
$length = strlen($value);
$retval = chr(0x1C) . chr($rec) . chr($data);

if($length < 0x8000)
{
$retval .= chr($length >> 8) . chr($length & 0xFF);
}
else
{
$retval .= chr(0x80) .
chr(0x04) .
chr(($length >> 24) & 0xFF) .
chr(($length >> 16) & 0xFF) .
chr(($length >> 8) & 0xFF) .
chr($length & 0xFF);
}

return $retval . $value;
}

// Path to jpeg file
$path = 'd183d0b0d0b7.jpg';

// We need to check if theres any IPTC data in the jpeg image. If there is then
// bail out because we cannot embed any image that already has some IPTC data!

$image = getimagesize($path, $info);

if(isset($info['APP13'])) {
die('Error: IPTC data found in source image, cannot continue');
}

// Set the IPTC tags
$iptc = array(
'2#005' => '', // названеи файла
'2#007' => '', // статус редактирования
'2#010' => '', // приоритет
'2#015' => '', // категория
'2#020' => '', // дополнительна категория
'2#022' => '', // идентификация
'2#025' => '', // ключевые слова
'2#030' => '', // дата выпуска
'2#035' => '', // время выпуска
'2#040' => '', // специальные инструкции
'2#045' => '', // справочная служба
'2#047' => '', // отчетную дату
'2#050' => '', // номер
'2#055' => '', // дата создания
'2#064' => '', // программа
'2#070' => '', // версия программы
'2#075' => '', // объект цикла
'2#080' => '', // подписью автора
'2#085' => '', // имя автора названия
'2#090' => '', // город
'2#095' => '', // область государственного
'2#100' => '', // код страны
'2#101' => '', // страна
'2#103' => '', // оригинал ссылка передачи
'2#105' => '', // заголовок
'2#110' => '', // кредит
'2#115' => '', // источник
'2#116' => '', // копирайты
'2#120' => '', // подпись
'2#121' => '', // местных подпись
);

// Convert the IPTC tags into binary code
$data = '';

foreach($iptc as $tag => $string)
{
$tag = substr($tag, 2);
$data .= iptc_make_tag(2, $tag, $string);
}

// Embed the IPTC data
$content = iptcembed($data, $path);

// Write the new image data out to the file.
$fp = fopen("_".$path, "wb");
fwrite($fp, $content);
fclose($fp);


кто знает подскажите все ли тут правильно ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.