Сохранение изображения

Программирование, которое не связано с API.
Ответить
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Сохранение изображения

Сообщение boombast1k »

Привет всем!
Нашел вот такой код

Код: Выделить всё

<script type='text/javascript'> var pic = '/img.jpg';var click_head = false;var click_txt = false;var path_pic = '/./pic/'; var text_head,text_txt,font_size_head,font_size_txt;function clearText(id_txt){ if(id_txt == 'text_head' && !click_head){ click_head = true; $('#'+id_txt).attr('value',''); } else if(id_txt == 'text_txt' && !click_txt){ click_txt = true; $('#'+id_txt).attr('value',''); } }function saveImage(){ var name = hex_md5(decodeURIComponent(text_head)+ decodeURIComponent(text_txt)+font_size_head+font_size_txt+pic); var text,url; url = path_pic + name + '.jpg'; text = "<a target='_blank' href='http://site.com/" + url + "'>http://site.com/" + url + "</a>"; $('#myImage').attr('src','http://site.ru/image.php?task=savepic&pic='+ pic +'&text_head=' + text_head + '&text_txt=' + text_txt + '&font_size_head=' + font_size_head + '&font_size_txt=' + font_size_txt); $('#savedImage').attr('innerHTML', text);</script><input type='button' value=' Получить картинку ' onClick="saveImage();">
Но нифига не происходит,то есть все происходит нормально,но картинка не охраняется:(
почему?кто подскажет?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Сохранение изображения

Сообщение bodnar »

я так предполагаю что неплохо было бы в наличии иметь еще и скрипт image.php который собстно и сохранит ее
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Сохранение изображения

Сообщение boombast1k »

как я понял в image.php должна просто лежать картинка.Или нет?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Сохранение изображения

Сообщение Alazaur »

Нет :) Там должно быть что-то типа

Код: Выделить всё

 <?PHP    $url=$_GET['pic'];    $f=fopen($url,'rb');    $f1=fopen('./'.time().'.jpg','wb');    while (!feof($f))    {         $str=fread($f,1024);         fwrite($f1,$str);    }    fclose($f);    fclose($f1);?> 
Но это самый простой вариант, не рекомендуемый в реальных условиях. Загуглите на тему "PHP сохранение изображения на сервер"
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: Сохранение изображения

Сообщение boombast1k »

Спасибо,пошел гуглить:)
anon
Сообщения: 3
Зарегистрирован: 26 ноя 2011, 23:29

Re: Сохранение изображения

Сообщение anon »

Alazaur писал(а):Нет :) Там должно быть что-то типа

Код: Выделить всё

 <?PHP    $url=$_GET['pic'];    $f=fopen($url,'rb');    $f1=fopen('./'.time().'.jpg','wb');    while (!feof($f))    {         $str=fread($f,1024);         fwrite($f1,$str);    }    fclose($f);    fclose($f1);?> 
Но это самый простой вариант, не рекомендуемый в реальных условиях. Загуглите на тему "PHP сохранение изображения на сервер"
Как же любят PHP'шники изобретать велосипеды... Всё вышеописанное реализуется всего двумя функциями - file_get_contents + file_put_contents
Но вообще, нечего надеяться на такую странную фичу PHP как работа файловых функций с внешними адресами (что без должного подхода чревато утечкой данных с собственного же сайта/сервера), а использовать библиотеку curl, которая для этого специально презназначена.
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Сохранение изображения

Сообщение Alazaur »

Тролли вырвались на свободу?))
Где тут велосипед? Вы можете писать так как вам удобнее, а для меня fopen, fread, fwrite привычнее потому что напоминают функции Си fopen, fgets, fputs. И ничего плохого, за что меня можно было бы осуждать я в этом не вижу.
А вот как раз предложенное вами подключение такой мощной библиотеки как cUrl в данном случае, это все равно, что предложить стрелять из танка по воробьям.
Ответить