За последние 24 часа нас посетили 17410 программистов и 1712 роботов. Сейчас ищут 1742 программиста ...

Как добавить информацию в файл?

Тема в разделе "PHP для новичков", создана пользователем Arty220, 23 апр 2011.

  1. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    можно и в файл. но система будет тормозная трохец. лучше сделай в начале файла
    $page = "";

    а потом по коду везде поменяй echo на $page .=
    т.е. было
    $i = 4;
    echo "Привет, мужики! Я тут $i ящиков пива купил! Будет кто?";

    а станет
    $i = 4;
    $page .= "Привет, мужики! Я тут $i ящиков пива купил! Будет кто?";

    затем когда ты уже будешь знать, что у тебя в хэдэре, объявишь header(...), и только после этого сделаешь echo $page;
    ps: подозреваю, что проблема у тебя в другом
     
  2. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    бог даст, я смогу тоже как-либо по умному деньгами распоряжаться) был бы повод)
     
  3. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Это реально гениально =), всё заработало...
    Мой мозг не по программерски работает как-то))
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Arty220
    ну вобще для четвертого дня уже уровень зашкаливает.
     
  5. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Ребятки, последний вопрос, честно.
    Делаю мд5 запрос, это будет имя файла.
    Как проверить существует ли файл с таким именем в папке с сгенерированными файлами, чтобы если существует то делаеть редирект на него.
    Пожалуйста, пожалуйста помогите!
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я спать. усе. =) Поливайте фикус!
     
  7. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Ну давай, счастливо, я тож спать пойду, ток завтра напишите как это сделать...))
     
  8. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    у меня еще 25 минут фильма осталось)
     
  9. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Тогда к тебе последний вопрос =)
    Делаю мд5 запрос, это будет имя файла.
    Как проверить существует ли файл с таким именем в папке с сгенерированными файлами, чтобы если существует то делаеть редирект на него.
    Ну, пожалуйста помоги...
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Arty220
    гы. я еще не ушел. но! я тебе завтра дам свою суперфункцию. тебе ее хватит лет на 25 точно. все файлы будут заведомо уникальные имена иметь и вобще будет проще жить.
     
  11. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    PHP:
    1.  
    2. <?
    3. $fileNameAsk=md5($lines[$index]);
    4. $fileNameAsk2 = '/'.$fileNameAsk.'.php'
    5. if (@fopen($fileNameAsk2, "r")) {          ----------4я линия
    6. header ("Location: $fileNameAsk2");
    7. } else {
    8. $fileNameAsk = dirname(__php__).'/'.$fileNameAsk.'.php';
    9. header ("Location: $fileNameAsk");
    10. }
    11. ?>
    12.  
    Parse error: syntax error, unexpected T_IF in Z:\home\localhost\www\d\mass.php on line 4
    Как исправить, что не так?
    Это я хочу "Как проверить существует ли файл с таким именем в папке с сгенерированными файлами, чтобы если существует то делаеть редирект на него" реализовать...
     
  12. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    в третей строке нет точки с запятой
     
  13. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Заработало, но только всё равно в этот файл перезаписываются данные... Как сделать, чтобы если такой файл уже есть весь скрипт, который дальше не выполнялся?[/u]
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Arty220
    для начала тебе придется отказаться от этого всего что у тебя есть, сесть в позу лотоса и начать медитировать чтобы подготовиться освоить работу с БД.
     
  15. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    БД, что ето?
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Чтобы постичь БД ты должен сначала принести в жертву девственницу. Отпишись как закончишь.
     
  17. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    база данных. иногда еще аббревиатурой БД называют другую аббревиатуру - СУБД. но это не верно. короче, тебе нужен MySQL.
     
  18. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Почему если файла ещё нет, то он создаёт его, а впереди названия пишет точку. А перейти пытается на такое же название, только без точки впереди, и без .php в конце. ЧТо не так?
    PHP:
    1. <?
    2. $user_name = $_POST['user_name'];
    3. if(isset($_POST['b1'])) { // если была нажата кнопка «Отправить»
    4. $mass_open = file_get_contents('mass.txt'); // читаем файл mass.txt
    5. file_put_contents('mass.txt', $mass_open.$user_name."\n"); // записываем, данные обратно в файл с новыми данными
    6. }
    7. ?>
    8. <?php
    9. //имя файла
    10. $filename="mass.txt";
    11. //помещаем содержимое файла mass.txt в массив $lines
    12. $lines=file($filename);
    13. //выводим строку с номером $index
    14. $index=count($lines)-1;
    15.  
    16. $fileNameAsk=md5($lines[$index]);
    17. $fileNameAsk2 = '/'.$fileNameAsk.'.php'   ;
    18. if (@fopen($fileNameAsk2, "r")) {
    19. header ("Location: $fileNameAsk2");
    20.  }else {
    21. $fileNameAsk3 = dirname(__ph4p__).''.$fileNameAsk.'.php';
    22. $out.='<?php include "up.php" ?>';//php код в одинарных кавычках не обрабатывается
    23. $out.="<center><div class='logo'></div>";
    24. $out.="<div class='vopros'>".$lines[$index]."</div></center>";
    25.  
    26. //имя файла
    27. $filename="mass2.txt";
    28. //помещаем содержимое файла mass2.txt в массив $lines
    29. $lines=file($filename);
    30. //генерируем случайный индекс массива $lines
    31. $index1=rand(0, count($lines)-1);
    32. $out.="<center><div class='vopros'>".$lines[$index1]."</div></center>";
    33. $out.='<?php include "bottom.php" ?>';//php код в одинарных кавычках не обрабатывается
    34. header ("Location: $fileNameAsk");
    35. file_put_contents($fileNameAsk3, $out);
    36. }
    37. ?>
    38.  
     
  19. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Как сделать чтобы php скрипты обрабатывались в .html файлах

    Добавьте строку в .htaccess

    AddType application/x-httpd-php .html

    А как сделать, чтобы php скрипты обрабатывались в файлах без расширения?
    И как создать .htaccess? Винда выдает : Следует ввести имя..
     
  20. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    .htaccess в винде можно создать из тотал командера

    А как сделать, чтобы php скрипты обрабатывались в файлах без расширения?
    лучше так не делать из соображений безопасности
     
  21. Arty220

    Arty220 Активный пользователь

    С нами с:
    23 апр 2011
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Belarus
    Если лучше так не делать, тогда как в этом скрипте добавить расширение .php созданным файлам? Уже по всякому перепробовал ..., то .php.php создаётся, а редирект на .php. Как это реализовать в этом коде? Без расширения всё работает, но тогда скрипты в созданной странице не работают, что делать?
    PHP:
    1.  
    2.  
    3. <?
    4. $user_name = $_POST['user_name'];
    5. if(isset($_POST['b1'])) { // если была нажата кнопка «Отправить»
    6. $mass_open = file_get_contents('mass.txt'); // читаем файл mass.txt
    7. file_put_contents('mass.txt', $mass_open.$user_name."\n"); // записываем, данные обратно в файл с новыми данными
    8. }
    9. ?>
    10. <?php
    11. //имя файла
    12. $filename="mass.txt";
    13. //помещаем содержимое файла mass.txt в массив $lines
    14. $lines=file($filename);
    15. //выводим строку с номером $index
    16. $index=count($lines)-1;
    17.  
    18. $fileNameAsk=md5($lines[$index]);
    19. $link = explode($fileNameAsk,".php");
    20.  
    21. //$fileNameAsk2 = '/'.$fileNameAsk.'.php'  ;
    22. if (file_exists($fileNameAsk)) {
    23. header ("Location: $fileNameAsk");
    24.  }else {
    25.  $fileNameAsk3=$fileNameAsk;
    26. //$fileNameAsk3 = dirname(__php__).''.$fileNameAsk.'.php';
    27. $out.='<?php header("HTTP/1.0 200 OK")?>'  ;
    28. $out.='<?php include "up.php" ?>';//php код в одинарных кавычках не обрабатывается
    29. $out.="<center><div class='logo'></div>";
    30. $out.="<div class='vopros'>".$lines[$index]."</div></center>";
    31.  
    32. //имя файла
    33. $filename="mass2.txt";
    34. //помещаем содержимое файла mass2.txt в массив $lines
    35. $lines=file($filename);
    36. //генерируем случайный индекс массива $lines
    37. $index1=rand(0, count($lines)-1);
    38. $out.="<center><div class='vopros'>".$lines[$index1]."</div></center>";
    39. $out.='<?php include "bottom.php" ?>';//php код в одинарных кавычках не обрабатывается
    40. header ("Location: $fileNameAsk3");
    41. file_put_contents($fileNameAsk3, $out);
    42. }
    43. ?>
    44.  
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Arty220
    Если лучше так не делать, тогда как в этом скрипте добавить расширение .php созданным файлам?
    нужно изначально создавать файлы с расширением пхп


    слушай, кончай этот геморой. ты быстрее освоишь БД и будешь жить счастливо чем напишешь эту канитель на файликах

    бд осваивается за один вечер