Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2024, 04:20   #1
Thomek
Пользователь
 
Регистрация: 05.02.2022
Сообщений: 32
По умолчанию Как вывести два текста разделенных пробелом из одной строки из txt ?

Есть данный ниже код, допущены ли в нем серьезные ошибки или другие проблемы которые могут негативно повлиять на загрузку страницы, адаптивность к различным браузерам или еще что найдете а то я многое не понимаю?

Данный ниже код, это ротатор рекламных ссылок на странице:
1 Через форму вводятся данные текст и ссылка.
2 Данные сохраняются в txt файл.
3 В txt файле например 5 строк, через форму сохраняют новые данные а самые старые удаляются.
4 При каждом обновлении страницы происходит последовательный вывод строки через echo от 1 до 5 строки и снова по кругу.

И главный вопрос, как text и link из одной строки из txt файла вывести на странице раздельно а не одной строкой? Чтобы потом сделать так
Код:
<a href="Код echo link" target="_blank">Код echo text</a>
У меня не получается..

Код:
Код:
<?php
$filepath = 'my.txt'; // файл со строками
$filenumpath = 'my2.line'; // дополнительный файл с номером последней строки

$file = file($filepath);
$linenum = is_file($filenumpath) ? 1+(int)trim(file_get_contents($filenumpath)) : 0; // прочитать номер из файла; если файла нет, то номер = 0
echo $file[$linenum%count($file)]; // вывести строку
file_put_contents($filenumpath, $linenum); // записать номер в файл
?>

<form method="post" enctype="multipart/form-data">
    Текст: <input type="text" name="text" /><br />
    Ссылка: <input type="text" name="link" /><br />
    <input type="submit" name="submit" value="Отправить форму" />
</form>

<?php
if(isset($_POST['submit'])){
    
    //Принимаем постовые данные
    $text=$_POST['text'];
    $link=$_POST['link'];
    
    //формируем строку для записи
    $str=$text.' '.$link."\r\n"; 
     
    //открываем файл для записи.Если файл не существует-он будет создан
    $fopen  =  fopen('my.txt', 'a+');
    
    //записываем строку
    fputs ($fopen, $str);
    
    //удаляет старую строку
    $lines = file('my.txt');
    unset($lines[0]);
    file_put_contents('my.txt', implode('', $lines));  
  
    //закрываем файл
    fclose ($fopen);
    
    //выводим текст
    echo "Ссылка добавлена!";
    
    //рефреш на туже страницу
    header("refresh: 0; url=http://сайт.ру"); 
}
?>

Последний раз редактировалось Thomek; 07.07.2024 в 15:21.
Thomek вне форума Ответить с цитированием
Старый 08.07.2024, 09:27   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,177
По умолчанию

ответ на главный вопрос - читаем построчно, строку разбиваем по пробелу.... (ну вы просто через пробел записываете. я бы не советовал... так как тогда в тексте нельзя его использовать... используйте какой либо другой разделитель... например | )
получаем массив с частями .. text, link используем....
а вообще - какое то поделие непонятное...
нафига формы ... зашел на хостинг - подправил текстовый файл как надо и забыл...
если же что-то серьезное писать...
нужна типа админки, авторизация... чтоб только админ добавлял, данные хранить в БД а не файликах
ADSoft вне форума Ответить с цитированием
Старый 12.07.2024, 15:15   #3
sherlockH
Заблокирован
 
Регистрация: 07.07.2024
Сообщений: 15
По умолчанию

Explode и file_get_contents
sherlockH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести подстроку, расположенную между первым и вторым пробелом исходной строки. В C++ vladrrom Помощь студентам 0 14.12.2016 02:42
Задача делфи! Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами.Вывести четные числа строки ethic Помощь студентам 0 17.04.2013 22:08
Программа, которая для вводимого текста (строки) подсчитывает количество слов, разделенных пробелами yuyuli Помощь студентам 2 18.04.2012 08:15
Строки в Delphi: строка символов, состоящая из десятичных цифр, разделенных пробелами. Вывести числа в возрастающем порядке Dashylia Помощь студентам 2 18.03.2012 14:03
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. just_dake Помощь студентам 3 29.05.2011 13:35