Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Генерация изображения, и получение результата в перменную.
 
 автор: tAleks   (07.04.2007 в 21:10)   письмо автору
 
 

Как сохранить сгенерированное изображение не в файл на диск, не в браузер, а в переменую?

   
 
 автор: ddhvvn   (07.04.2007 в 21:16)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:10)
 

Зачем это Вам?

   
 
 автор: antf   (07.04.2007 в 21:24)   письмо автору
 
   для: ddhvvn   (07.04.2007 в 21:16)
 

Сохранить код в переменных сессии.

   
 
 автор: tAleks   (07.04.2007 в 21:39)   письмо автору
 
   для: ddhvvn   (07.04.2007 в 21:16)
 

> Зачем это Вам?

Задача такая, чтобы потом залить на сервер по FTP

   
 
 автор: Valick   (07.04.2007 в 21:25)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:10)
 

????? Обычно его генерируют именно в переменной, а потом уже выводят куда надо, или я чего-то не понимаю?????

   
 
 автор: tAleks   (07.04.2007 в 21:40)   письмо автору
 
   для: Valick   (07.04.2007 в 21:25)
 

>????? Обычно его генерируют именно в переменной, а потом уже выводят куда надо, или я чего-то не понимаю?????

Обычно, на сколько я знаю, его сохраняют в файл (с указанием пути), либо выводят сразу в браузер.

   
 
 автор: Valick   (07.04.2007 в 21:43)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:40)
 

чем вы генерите картинку?
какая функция у вас выводит генерёное изображение в браузер?

   
 
 автор: tAleks   (07.04.2007 в 21:51)   письмо автору
 
   для: Valick   (07.04.2007 в 21:43)
 

>чем вы генерите картинку?
>какая функция у вас выводит генерёное изображение в браузер?

Ну, генерю всякими разными... а сохраняю imagegif().

   
 
 автор: tAleks   (07.04.2007 в 21:49)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:10)
 

Задача собственно такая:

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

А на сколько я знаю, то на FTP можно закачивать из файла на винте (про куазанному пути), либо из предварительного открытого файла (чезез файловый указатель).

Но и в то же время. Сохранять картинки можно либо в файл (с указанием пути), либовыводить в браузер.

Вроди бы ничего сложного. Сохранил в файл, а потом залил на сервак через FTP.

Но фишка еще в том, что надо предуспотреть возможный обрыв связи, полсе того как файл сохранен в файл, но еще не закачан по FTP. другими словами, надо создать временный файл, который по окончании работы скрипта сам удаляется.

Но проблема в том, что когда создаем временный файл функцией tmpfile() получаем файловый указатель! А функции сохранения изображений, те которые я заню, в файловый указатель не пишут!

Как быть?

   
 
 автор: Valick   (07.04.2007 в 22:37)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:49)
 

Вообще непонятно...
Через форму вы закачиваете изображение на сервер, там его ресайзите, и... что надо сохранить на другой сервер?
Вот посмотрите можно сохранить, а потом считать в переменную, но это вызывает большую нагрузку на сервер.

<?php 
// Функция преобразует текст из кодировки iso8859-5 в Unicode-entities.
// Ее необходимо вызывать перед запуском imageTtfText(), чтобы корректно 
// отображать русские буквы. Аргумент $from задает исходную кодировку
// страницы (см. convert_cyr_string() для описания значений параметра).
function toUnicodeEntities($text$from="w") { 
  
$text convert_cyr_string($text$from"i");
  
$uni ""
  for (
$i=0$len=strlen($text); $i<$len$i++) { 
    
$char $text{$i}; 
    
$code ord($char); 
    
$uni .= ($code>175)? "&#" . (1040+($code-176)) . ";" $char
  } 
  return 
$uni


$img imageCreateTrueColor(350200); 
If (
$img

$green imageColorallocate($img02550); 
$yellow imageColorallocate($img2552500); 

$string toUnicodeEntities("шрифт True Type");
$box imageTtfText($img201010150$yellow"arial.ttf"$string); 


$font 4
$height $box[5] - imageFontHeight($font); 
imagestring($img$font40$height"PHP and GDLib"$green); 
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_PNG));
imagePng($img,'proba.png');
imageDestroy($img);

$size=getimagesize('proba.png');
header("Content-type: {$size['mime']}");
$kartinkafile_get_contents('proba.png');
echo 
$kartinka;

?> 

   
 
 автор: Киналь   (08.04.2007 в 15:05)   письмо автору
 
   для: tAleks   (07.04.2007 в 21:49)
 

>Но проблема в том, что когда создаем временный файл функцией tmpfile() получаем файловый указатель! А функции сохранения изображений, те которые я заню, в файловый указатель не пишут!

Так ведь этот самый временный файл создается не где-то черт-те где, а по конкретному пути. Измените функцию tmpfile() так, что бы она возвращала путь к файлу, и будет вам счастье=)

UPD: не измените, а перепишите функцию) ТО есть сделайте свою, и в ней уж делайте что душе угодно)

   
 
 автор: ddhvvn   (08.04.2007 в 20:10)   письмо автору
 
   для: Киналь   (08.04.2007 в 15:05)
 

Может вам поможет функция tempnam ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования