PHP.SU

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

Страниц (4): « 1 [2] 3 4 »

> Найдено сообщений: 50
black_ru Отправлено: 14 Июля, 2011 - 21:08:11 • Тема: Только начинаю изучение PHP • Форум: Прочее

Ответов: 19
Просмотров: 145
White
Наверное, очень просто начинать с bash Улыбка там очень хорошо объясняется сказанное вами, + циклы, рекурсия, конвеер (хотя последнее, наверное, особенность bash).
кстати, Bash наверное, самый простой скриптовый язык

еще полезно освежить в памяти дискретную математику.
Всякие конъюнкции, дизъюнкции, импликации..
Перевод цифр из двоичной, в восьмеричную, десятичную должен отлетать от зубов без калькулятора, если разбудить ночью Улыбка
Почитать про особенности устройства компа, памяти, работу процессора...
всякие сумматоры, триггеры, в общем основы.
Имхо, чем лучше понимание принципов работы, тем легче вникнуть в более сложные вещи на более абстрактном уровне, когда надо реализовывать функционал.
Хотя, конечно, люди с техническим образованием, прочитав мой пост лишь благосклонно улыбнуться, для многих это все само собой, но я сам гуманитарий... мне тоже понимание не легко дается, иногда сидишь с простыми вещами...
но все равно интересно во всем этом рыться... хотя бы для понимания, сколько всего не знаешь.
black_ru Отправлено: 14 Июля, 2011 - 15:09:47 • Тема: удалить из файла пустые строки • Форум: Работа с файловой системой и файлами

Ответов: 8
Просмотров: 14348
Прошу прощения, что поднял такую старую тему. Просто искал сабж. У меня на основе вышеизложенного получилось так:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $base = file_get_contents("file.txt");
  3. $pattern1[0] = "/^.*$strinkk.*$/m";
  4. $pattern1[1] = "/\n\n+/m";
  5. $replacement1[0] = "";
  6. $replacement1[1] = "\n";
  7. $base = preg_replace($pattern1, $replacement1, $base);
  8. $fp = fopen("ile.txt","w");
  9. fwrite($fp, "$base");
  10. fclose($fp);

Т.е. у себя по своей переменной меняю всю строку, остается пустая строка, если писать дальше в файл, поэтому применяю $pattern1[1], который подтягивает строку до последней.
black_ru Отправлено: 14 Июля, 2011 - 11:46:39 • Тема: Только начинаю изучение PHP • Форум: Прочее

Ответов: 19
Просмотров: 145
Как начинающий должен сказать, у человека может быть талант или его не быть, научиться программировать на том или ином уровне все равно возможно.

Очень трудно если нет конкретной задачи, т.е. читать книги по языкам все равно нужно, но должна быть конкретная цель, у меня лично была в свое время - написать максимально простой движок новостей, с пагинацией, поиском, простой админкой, причем строго на файлах (просто моя заморочка Улыбка).

Когда вы определите для себя, что хотите сделать, то появятся конкретные вопросы, конечно же появятся и конкретные ответы.

В php много встроенных функций - это его большой + и в том же время беда для новичка, одну и ту же реализацию можно сделать несколькими способами, на фактически есть только один самый оптимальный Улыбка
black_ru Отправлено: 11 Июля, 2011 - 01:35:24 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
Последнее хочу просить:
Я правильно добавляю, чтобы искать только целое слово в строке и выводить всю?
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (preg_match_all("/^.*?\b$srch\b.*/mi", $myfile, $matches))
  3.  

Почему-то сразу перестает искать слова с русскими символами.
black_ru Отправлено: 10 Июля, 2011 - 19:52:48 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
Champion да спасибо.

CODE (htmlphp):
скопировать код в буфер обмена
  1. $string = var_export($matches, true);
  2. $pattern[0] = "/=>/";
  3. $pattern[1] = "/[')(,*0-9]/";
  4. $pattern[2] = "/array/";
  5. $replacement[0] = "<br>";
  6. $replacement[1] = "";
  7. $replacement[2] = "";
  8. echo preg_replace($pattern, $replacement, $string);
  9.  

прикольно, из того же мана, получается можно как угодно изменить вывод Улыбка
Пойду читать дальше.
black_ru Отправлено: 10 Июля, 2011 - 18:52:03 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
Ну вот как-то так можно? У меня не выходит пока
CODE (htmlphp):
скопировать код в буфер обмена
  1. $string = var_dump($matches);
  2. $pattern = "/Хрен/i";
  3. $replacement = "Редька";
  4. echo preg_replace($pattern, $replacement, $string));
  5.  

(Добавление)
А, ну то есть var_dump подразумевает, что в памяти ничего не осталось,
поэтому и нужен var_export?

P.S.
Все понял....
Спасибо
black_ru Отправлено: 10 Июля, 2011 - 17:58:45 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
var_dump($matches)) тоже интересно, только в этом случае, похоже ,придется вырезать при помощи preg_replace все эти
(Добавление)
А вывод var_dump($matches)) можно в переменную свести, чтобы потом еще раз применить preg_replace?
black_ru Отправлено: 10 Июля, 2011 - 15:49:19 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
А точно, цикл.
Я думал, как-то по другому можно


Спасибо .
Вопрос решен.
black_ru Отправлено: 10 Июля, 2011 - 15:22:17 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
Ага, спасибо.
А как вывести все найденные?
black_ru Отправлено: 10 Июля, 2011 - 14:10:30 • Тема: preg_match_all вывод найденной строки • Форум: Хранение данных, их вывод и обработка

Ответов: 14
Просмотров: 5978
Как вывести всю строку со словом, которое было найдено в массиве?
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (preg_match_all("/слово/i", "$text_of_file", $out)) {
  2. echo $out[0][0]  ;
  3.  }
black_ru Отправлено: 09 Июля, 2011 - 18:55:42 • Тема: php и grep • Форум: Операционная система и системные вызовы

Ответов: 12
Просмотров: 8043
В общем пока сделал так: при создании статьи создается файл index.dat,
в который пишется все заголовки в виде ссылки, каждая с новой строки:
(Я не вижу смысла искать все, что можно в статье, так как это сильно меняет задачу)
CODE (html):
скопировать код в буфер обмена
  1. <a href=index.php?page=1>Заголовок статьи</a>
  2. <a href=index.php?page=1>Заголовок статьи2</a>


Сам поиск:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4.  
  5. $serch=($_GET['srch']);
  6.  
  7. if (($_GET['srch']!='') && !preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$serch) &&
  8. strlen($sech) < 20)  {
  9. $command = "grep -wi  $serch index.dat";
  10. echo "<br><br><b>Результат поиска</b><br><br>";
  11. system($command);
  12. } else {
  13. echo "<br><b>Проверьте  корректность ввода данных</b>";
  14. }
  15.  
  16. ?>
  17.  

В коде запретил ввод спецсимволов и ограничил число вводимых.
Вызвал grep для поиска только целого слова - ключ -w, без учета регистра - ключ -i.
Можно, правда, выводить и без записи в файл для индексации, а искать по всей директории и подавлять вывод ключом -m1, например но так, наверное будет хуже, если будет много запросов.
Работает вроде бы, как мне нужно, но почему-то кажется, что можно еще ускорить процедуру, убрав вообще grep и сделать вывод из файла index.dat через ассоциативный массив.
Но четкой схемы, как это сделать - пока не придумал.
black_ru Отправлено: 09 Июля, 2011 - 06:15:17 • Тема: php и grep • Форум: Операционная система и системные вызовы

Ответов: 12
Просмотров: 8043
CODE (htmlphp):
скопировать код в буфер обмена
  1. grep -rw -m1  $sech baza/ | sed -e 's/baza/<a href=index.php?page=/;s/[/]//;s/.txt:/>Ссылка  <\/a>/;a</br>'


А похожую штуку можно средствами php сделать? Я так понимаю, preg_grep
нужно использовать?
И как быть, стандартный системный grep уже сканирует директорию.
А как поступить тут с поиском?
Сканировать директорию, читать файлы, свести все в массив и сравнивать c образцом?
black_ru Отправлено: 09 Июля, 2011 - 01:13:41 • Тема: Время и дата • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1182
так, наверное
CODE (htmlphp):
скопировать код в буфер обмена
  1. $today = date("F j, Y, g:i a")


Можно через bash, если нужно зафиксировать число
CODE (htmlphp):
скопировать код в буфер обмена
  1. $mydata=system("echo $(date +%F%H%M%S)");


http://docs.php.net/manual/en/function.date.php
black_ru Отправлено: 08 Июля, 2011 - 19:56:36 • Тема: php и grep • Форум: Операционная система и системные вызовы

Ответов: 12
Просмотров: 8043
Переделал, убрал считывание в файл. Получилось вообще в несколько строчек Улыбка

не вижу особого смысла выкладывать код, смысл которого по сути упирается
в
CODE (htmlphp):
скопировать код в буфер обмена
  1. system(grep -bla-bla-bla | sed -bla-bla=bla)
black_ru Отправлено: 08 Июля, 2011 - 19:46:53 • Тема: Пока просто вопрос..... • Форум: Операционная система и системные вызовы

Ответов: 8
Просмотров: 3541
Есть в интернете даже скрипт, который выводит терминал прямо на страницу веб-сервера.

Собственно, вот он:
http://forumseo[dot]org/showthread.php?t=1995
Консоль bash через php

Страниц (4): « 1 [2] 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB