Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: создание файла

 PHP.SU

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


 Страниц (1): [1]   

> Описание: создать файл и сохранить в нем данные из div
anita
Отправлено: 11 Ноября, 2015 - 12:04:38
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




Здравствуйте!
У меня такая задача: на странице есть блок div с каким-то текстом внутри. Нужно создать файл и поместить в него этот текст, файл должен быть сохранен на машине клиента. У меня есть реализация с использованием textarea и input type = submit
CODE (html):
скопировать код в буфер обмена
  1. <form  method="post" action = "gettxt.php" target = "gettxt">
  2. <textarea id = "text" name = "text"></textarea>
  3. <p><input type = "submit" value = "Сохранить" ></p>
  4.  <iframe name="gettxt" src="" style="display:none"></iframe>
  5. </form>

gettxt.php
PHP:
скопировать код в буфер обмена
  1.  
  2. header('Content-type: text/plain; charset=utf8');
  3. header('Content-disposition: attachment; filename= text.txt');
  4. echo $_POST['text'];
  5.  

Однако же вместо input необходимо использовать ссылку <a> и я совсем запуталась unsure.gif:: ...
Не могли бы Вы мне разъяснить как это реализовать?
 
 Top
andrewkard
Отправлено: 11 Ноября, 2015 - 13:50:29
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




anita пишет:
У меня такая задача: на странице есть блок div с каким-то текстом внутри.

Берите содержимое этого элемента и отправляйте на сервер.
Спойлер (Отобразить)
 
 Top
anita
Отправлено: 11 Ноября, 2015 - 14:28:20
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




Спасибо)))

(Отредактировано автором: 11 Ноября, 2015 - 14:29:39)

 
 Top
anita
Отправлено: 12 Ноября, 2015 - 11:47:28
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




Если разрешите, еще вопрос. Допустим мне пришел файл, как его сохранить на клиенте?
я никак не понимаю как это происходит, если не использовать форму и submit((((
 
 Top
andrewkard
Отправлено: 12 Ноября, 2015 - 12:23:39
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




anita пишет:
Допустим мне пришел файл, как его сохранить на клиенте?

Вывести ссылку на скачивание файла.
 
 Top
anita
Отправлено: 12 Ноября, 2015 - 12:32:30
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




andrewkard пишет:
Вывести ссылку на скачивание файла.
а как сделать так, что бы скачивание файла началось автоматически?
 
 Top
andrewkard
Отправлено: 12 Ноября, 2015 - 12:45:52
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




anita
Может я чего не понял, как Вы это видите? Вы заходите на какой то сайт, который сразу же начинает грузить Вам на машину какие то файлы без Вашего ведома?
 
 Top
anita
Отправлено: 12 Ноября, 2015 - 12:54:03
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




andrewkard пишет:
anita
Может я чего не понял, как Вы это видите? Вы заходите на какой то сайт, который сразу же начинает грузить Вам на машину какие то файлы без Вашего ведома?

нет, почему же
Я посылаю серверу данные и он формирует из них файл
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $.post("txt.php",
  3.                  {
  4.                    text: data
  5.                  }
  6.     );
  7.  }
  8.  

PHP:
скопировать код в буфер обмена
  1.  
  2.  header('Content-type: text/plain; charset=utf8');
  3.   header('Content-disposition: attachment; filename=talon.txt');
  4.   echo $_POST['text'];
  5.  

и пересылает его мне. Я не могу понять как теперь получить ссылку на этот файл. А используя ее и скрытый iframe получится как раз то что требуется)
 
 Top
andrewkard
Отправлено: 12 Ноября, 2015 - 13:26:45
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




anita пишет:
Я не могу понять как теперь получить ссылку на этот файл.

Сформируйте ссылку на файл и отдайте как ответ на AJAX запрос. И JS вставьте ее в какой нибудь элемент на странице.
 
 Top
anita
Отправлено: 12 Ноября, 2015 - 13:28:31
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




andrewkard пишет:
anita пишет:
Я не могу понять как теперь получить ссылку на этот файл.

Сформируйте ссылку на файл и отдайте как ответ на AJAX запрос. И JS вставьте ее в какой нибудь элемент на странице.
не подскажите, как ее можно сформировать?
 
 Top
andrewkard
Отправлено: 12 Ноября, 2015 - 15:18:38
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




Набросал, поправьте сами:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['text'])){
  4. $name = 'test.txt';
  5. $file = __DIR__.DIRECTORY_SEPARATOR.'test.txt';
  6. file_put_contents($file,$_POST['text']);
  7. echo '/'.$name;
  8. }
  9. ?>
  10. <html>
  11. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  12. <title></title>
  13. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  14.  
  15. </head>
  16. <body>
  17. <script>
  18.     $(function(){
  19.         var text = $('#text').html();
  20.         $.ajax({
  21.             method: "POST",
  22.             url: "",
  23.             data: { text: text }
  24.         })
  25.             .done(function( msg ) {
  26.                 $('#text').html('<a href='+msg+'>SAVE FILE</a>')
  27.             });
  28.     })
  29. </script>
  30. <div id="text">Text</div>
  31. </body>
  32. </html>
  33.  
 
 Top
anita
Отправлено: 13 Ноября, 2015 - 05:54:25
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Окт. 2015  


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




andrewkard пишет:
Набросал, поправьте сами:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['text'])){
  4. $name = 'test.txt';
  5. $file = __DIR__.DIRECTORY_SEPARATOR.'test.txt';
  6. file_put_contents($file,$_POST['text']);
  7. echo '/'.$name;
  8. }
  9. ?>
  10. <html>
  11. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  12. <title></title>
  13. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  14.  
  15. </head>
  16. <body>
  17. <script>
  18.     $(function(){
  19.         var text = $('#text').html();
  20.         $.ajax({
  21.             method: "POST",
  22.             url: "",
  23.             data: { text: text }
  24.         })
  25.             .done(function( msg ) {
  26.                 $('#text').html('<a href='+msg+'>SAVE FILE</a>')
  27.             });
  28.     })
  29. </script>
  30. <div id="text">Text</div>
  31. </body>
  32. </html>
  33.  

Огромное Вам спасибо Улыбка Улыбка Улыбка !!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB