Нетипичная загрузка (вопрос еще не решен)
Есть страница index.html
<html> ... <img id="image" src="images/qwerty.jpg"> <input type="submit" value="отправить" > ... <html> Как сделать так, чтобы после нажатия на кнопку отправить, эта картинка сохранилась в моей папке /save/ на сервере? P.S.Прошу обратить внимание, что картинка уже находится на странице, а не загружается кнопкой upload. |
copy( $_SERVER['DOCUMENT_ROOT']. '/images/qwerty.jpg', $_SERVER['DOCUMENT_ROOT']. '/save/qwerty.jpg' ); |
Вообщем cделал так, но не получается сохранить в папку.
<html> ... <form action="script.php" method="post" enctype="multipart/form-data"> <img id="image" src="images/qwerty.jpg"> <input type="submit" value="отправить" > ... <html> <? copy( $_SERVER['DOCUMENT_ROOT']. '/images/qwerty.jpg', $_SERVER['DOCUMENT_ROOT']. '/save/qwerty.jpg' ); ?> |
Ну для начала нужно выяснить где именно лежит твоя картинка на хосте, так как ссылка указана релятивная в теге img то возможно рисунок лежит в какой нить подпаке, затем нужно создать на сервере в корне DOCUMENT_ROOT папку /save/
далее после в файле script.php нужно добавить код что я дал выше, и указать правильные пути. Но так же этот код нужно внести в правило, что бы он не выполнялся в тот момент когда это не нужно. А вообще нужно нормально описывать проблему. Очень сложно понять что конкретно требуется, и каков смысл копировать файл внутри сервера. |
Значить все находится вот так:
/save/ /main/ { /images/ index.php } script.php - Папка /main/ содержит папку /images/ и index.php. В папке /images/ лежит картинка qwerty.jpg - В папку /save/ загружаются картинки. - Script.php - обработчик На index.php (mysite.ru/main/) пользователь пишет ajaxom текст на картинку-демотиватор. Нужно сделать так, чтобы после нажатия на кнопку отправить, эта картинка сохранилась в папке /save/ |
файл index.php
<html> ... <form action="script.php" method="post" enctype="multipart/form-data"> <img id="image" src="images/qwerty.jpg" /> <input type="hidden" name="action" value="1" /> <input type="submit" value="отправить" /> </form> ... <html> файл script.php <?php $root_directory = dirname( __FILE__ ); if ( isset( $_POST['action'] ) && $_POST['action'] == 1 ) { copy( $root_directory.'/images/qwerty.jpg', $root_directory.'/../save/qwerty.jpg' ); } ?> Если я правильно понял script.php лежит там же где и index.php судя по тому что в форме указана релятивная ссылка на файл, то-есть искать в текущей директории. |
Script.php лежит в основной директории, но переместить не трудно)
|
Мне кажется, что раздел "элементы интерфейса" никак не связан с языком PHP и данной проблемой.
|
Все здорово, изображение сохраняется, но вот текст, написанные пользователем нет(
|
Кто-ж знал, что для решения проблемы потребуется язык php )
|
текст написанный пользователем где? И куда вообще нужно его сохранять? Что-то я не допетриваю что конкретно требуется.
|
На странице index.php находится картинка, на которую пользователь, через форму, пишет текст. Текст на этой картинке появляется сразу, без перезагрузки страницы. Пишется это все языком JS.
Есть кнопка отправить, после нажатия на которую, надо сохранить эту картинку (с текстом пользователя) на сервер в папку /save/ Предыдущий код прекрасно работает. Только загружает картинку без текста пользователя. |
Цитата:
|
Цитата:
|
Ох ничего себе, тут пятью минутами не обойдешься, нужно юзать библиотеку GD в PHP. подругому ты текст наложить на рисунок не сможешь, а то что JavaScript кладет поверх картинки текст, это все не то, он же не прорисовывает на самом изображении текст, он просто его ставит как дополнительный слой на рисунок. А все остальное нужно как я писал выше делать через GD.
|
Но когда я сохраняю картинку с написанным текстом, правой кнопкой мышью, изображение сохраняется вместе с текстом. Получается текст уже наложен на рисунок
|
примерно так:
$src = imagecreatefromjpeg( $root_directory.'/images/qwerty.jpg' ); imagettftext( $src , 20, 0, 10, 10, imagecolorallocate( $src, 0, 0, 0 ), $root_directory.'/Arial.ttf', 'Hello World!!!'); imagejpeg( $src, $root_directory.'/../save/qwerty.jpg', 85 );скопируй фонт файл Arial.ttf в папку где лежит script.php. Вместо Hello World!!! пиши тот текст который тебе нужен, строки разделяй символом \n . Позицианировать текст на картинке 4-й и 5-й параметр, те что стоят со значением 10, размер шрифта стоит 20 |
Цитата:
|
Часовой пояс GMT +3, время: 18:57. |