PHP.SU

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

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

> Найдено сообщений: 16
IvanBr Отправлено: 09 Февраля, 2017 - 19:35:42 • Тема: Код php отрабатывает не полностью • Форум: Вопросы новичков

Ответов: 9
Просмотров: 391
teleoperator27 пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. $file = file("index.txt"); //читаем файл и помещаем содержимое в массив $file
  4.  
  5. echo '<i>Строка с индексом 2 содержит текст:</i>  ' . $file[2];  //вывод из массива $file по индексу 2
  6.  
  7. echo '<hr>';
  8.  
  9. $max = count($file); //считаем кол - во элемента в массиве $file
  10.  
  11. echo  '<i>Это случайная строка:</i>  ' . $file[rand(0, $max)]; //Вывод случайного элемента из массива $file
  12.  
  13.  
  14. ?>

файл index.txt
Спойлер (Отобразить)


teleoperator27 Большое Вам человеческое спасибо. Мне хватило бы и первых 6-ти строк, это как раз то, что мне было нужно. Еще раз огромное спасибо и удачи Вам!
IvanBr Отправлено: 09 Февраля, 2017 - 18:20:02 • Тема: Код php отрабатывает не полностью • Форум: Вопросы новичков

Ответов: 9
Просмотров: 391
Мелкий пишет:
Вы написали, судя по реально написанному коду, рабочий поиск определённого текста по текстовому файлу.
В комментариях и в теме вы говорите про какой-то индекс строки, как будто хотели написать проверку существования строки с таким-то порядковым номером от начала файла.

Поиск по текста и вывод строки по её номеру - задачи разные, поэтому чтобы сказать, что сделано не так, сначала надо понять, а что именно вы сделать хотели.




Спасибо за участие в теме. Просто нашел этот код в свободном доступе здесь https://sevidi[dot]ru/php/phppage35.php

Автор пишет:

" Каждому номеру, который обычно называют индексом, соответствует строка, называемая значением. Одной из насущных задач является определение наличия в файле заданного индекса и вывод соответствующего ему значения, если такой индекс существует"

То есть как я понимаю, данный код вытягивает содержимое каждой строки ТХТ файла.
А это мне как раз и надо. Попробовал протестить код и не получилось, решил написать специалистам. Я новичок и прошу строго не судить. А если у знающих людей возникнет желание помочь новичку, то буду очень признателен и благодарен.
IvanBr Отправлено: 09 Февраля, 2017 - 17:48:09 • Тема: Код php отрабатывает не полностью • Форум: Вопросы новичков

Ответов: 9
Просмотров: 391
Мелкий пишет:
А почему должна быть найдена? В вашем примере данных не встречается подстроки 2.


Как раз чтобы узнать это я и создал тему. Подскажите, пожалуйста, если не трудно, как сделать так, чтобы можно было бы доставать каждую строку. Спасибо.
IvanBr Отправлено: 09 Февраля, 2017 - 17:37:35 • Тема: Код php отрабатывает не полностью • Форум: Вопросы новичков

Ответов: 9
Просмотров: 391
andrewkard пишет:
IvanBr пишет:
В чем причина?

напишите пример того, что ищете и часть содержимого файла, где эта строка есть


Вот текстовый файл index.txt чтобы тестировать этот код. Если во вторую строку кода $index=''; не ставить никакого значения, то код после работы отображает первую строку этого ТХТ файла, то есть Ваза под цветы. Если в $index=''; к примеру подставить 2, вот так $index='2'; то после работы кода выводится "Позиция не найдена"

Файл index.txt:

Ваза под цветы.
Красивая ваза для цветов.
Ваза цветов.
Пластиковая ваза для цветов.
Ваза цветы.
Рисунки ваза с цветами.
Ваза с цветами фото.
Висячая ваза для цветов.
Висячая ваза для цветов.
IvanBr Отправлено: 09 Февраля, 2017 - 12:47:32 • Тема: Код php отрабатывает не полностью • Форум: Вопросы новичков

Ответов: 9
Просмотров: 391
Есть такой код для поиска содержимого одной из строк файла index.txt. Но он работает только когда во второй строке $index=''; не подставлено никакого значения. Если например подставить 2 или 4, то код не отрабатывает - пишет Позиция не найдена. В чем причина? Заранее спасибо.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $index='';  //ищем строку с индексом
  3. $filename="index.txt";   //имя файла  
  4. $fd=fopen($filename, "r");   //открываем файл для чтения
  5. $bufer=fread($fd, filesize($filename));  //читаем содержимое файла
  6. fclose($fd);  //закрываем файл  
  7. preg_match("|$index([^\n]*)|", $bufer, $matches);   //находим строку с индексом $index
  8. //выводим результат
  9. if(isset($matches[1]))
  10. echo $matches[1]; else echo "Позиция не найдена"                   
  11. ?>
IvanBr Отправлено: 07 Февраля, 2017 - 19:34:48 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Разобрался. Нашел правильные пути к текстовым файлам. Необходимо прописывать:

/home/user - здесь мой, который на хостинге/название моего сайта.ru/wp-content/themes/назва ние моей темы/klychi.txt

Для counter.inf все тоже самое, только в конце counter.inf

Всем спасибо за участие, особенно "СТРОИТЕЛЮ". Удачи!
IvanBr Отправлено: 05 Февраля, 2017 - 22:27:34 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr, в файле single-content.php вызывается функция get_youtube_video() . Но подключения этих файлов друг к другу я не обнаружил. С движком ВП я не работал, поэтому не могу точно сказать, как там с автоподгрузкой этих файлов, но как вариант для проверки, попробуйте подключить к файлу single-content.php файл с функцией get_youtube_video() строкой :

include 'Путь к файлу с описанием функции';


Спасибо Вам огромное за помощь, буду дальше пытаться что-то делать, в том числе обязательно попробую и Ваш вариант. Всего доброго и удачи!
IvanBr Отправлено: 05 Февраля, 2017 - 22:13:01 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr, скиньте тогда код файла functions.php в архиве. А так же напишите № строки, в которой вы вызываете foo().
IvanBr Отправлено: 05 Февраля, 2017 - 22:02:28 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr пишет:
да, пака тестирую именно рядом и разместил
Ну тогда код должен работать ... А описание функции вы разместили корректно в коде файла functions.php?
Строго говоря, если функция foo() вам возвращает bool(false), то это свидетельствует о том, что скрипт не видит файла klychi.txt


Да, разместил корректно. Сейчас установил Ваш код в РНР файле прямо рядом с functions.php и все работает. И понятно, что в Вордпрессе должно быть так же, но вместо результата пишет bool(false) вот и в чем заморочка то. Второй день в упор занимаюсь и без результата.
IvanBr Отправлено: 05 Февраля, 2017 - 21:50:11 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr пишет:
вызов функции прописываю так
А пути к файлам разве не нужно корректировать? Например, на тестовом сайте у вас эти два текст-файла "лежат" в той же папке, в которой и пхп файл с кодом. А когда вы переносите код в functions.php, то пути к файлам наверняка изменятся. Или вы эти файлы рядом с functions.php разместили?



да, пака тестирую именно рядом и разместил
IvanBr Отправлено: 05 Февраля, 2017 - 21:42:59 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr пишет:
на месте результата светит bool(false).
А вы передаёте в foo() параметры, когда тестируете код на ВП ? Какие именно параметры? (если передаёте)


Я точно не знаю правильно или нет, но вызов функции прописываю так:
var_dump(foo('klychi.txt', 'counter.inf'));
IvanBr Отправлено: 05 Февраля, 2017 - 19:24:22 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Строитель пишет:
IvanBr, я ваш рабочий код, для примера, прописал в теле функции foo() . Сохраните его в отдельный пхп-файл и посмотрите в браузере на результат его работы. Если работает, то свою функцию допиливайте по моему примеру.
Спойлер (Отобразить)

(Добавление)
IvanBr, только что обратил внимание, что у вас в этой строке

$klychi = file_get_contents($klychi);

переменная $klychi строчного типа, а внизу вы к ней обращаетесь, как к массиву

$klychi[$curent_position]

Если бы у вас был включён показ ошибок, то вы бы увидели соответствующее уведомление об этом.


Спасибо огромное за участие и помощь, сейчас буду исправлять. При любом результате отпишусь.
(Добавление)
К сожалению ничего не получается. "Строитель" посоветовал протестировать код. В отдельном РНР файле он отлично работает, а на Вордпрессе нет - на месте результата светит bool(false). Скорее всего это из-за ошибки которую заметил "Строитель"

IvanBr, только что обратил внимание, что у вас в этой строке
$klychi = file_get_contents($klychi);
переменная $klychi строчного типа, а внизу вы к ней обращаетесь, как к массиву
$klychi[$curent_position]

Если возможно, подскажите, как исправить? Спасибо.
IvanBr Отправлено: 05 Февраля, 2017 - 18:44:27 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Heavenanvil пишет:
IvanBr, попробуйте поставить плагин «Inline PHP», должно помочь.
После установки просто добавляете свой код в тегах между <exec>...</exec> или [exec]...[/exec] в любом месте шаблона.



Да, пробовал через установку плагина, размещал код между указанными вами тегами, не помогает
IvanBr Отправлено: 05 Февраля, 2017 - 18:26:08 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Heavenanvil пишет:
IvanBr, а вы включили отображение ошибок?


А зачем вообще вы пытаетесь добавить этот код в functions.php?
Попробуйте создать любой отдельный php-файл, а затем вывести его виджетом, например «этим».


Чтобы включить показ ошибок я в .htaccess файл в самое начало добавил строку
php_flag display_errors on

Этот код мне нужен для того, чтобы в каждой новой статье сайта на движке Вордпресс в самый низ статьи сразу после видео контента добавлялся новый ключ как раз из папки klychi.txt (ключ самой статьи я сумел добавить). Вот мой тестовый сайт и ссылка на начало кода functions.php:
IvanBr Отправлено: 05 Февраля, 2017 - 17:23:20 • Тема: Не работает код php на Вордпрессе • Форум: Вопросы новичков

Ответов: 22
Просмотров: 975
Heavenanvil пишет:
IvanBr пишет:
Код на ура работает на хостинге. Но когда ставлю его в functions.php своей темы на Вордпресс, то этот код не работает, просто ничего не отображается.

А этот хостинг, тот же, на котором стоит wordpress?
Включите отображение php-ошибок и посмотрите, на что ругается.


Да, хостинг тот же. И никакие php-ошибки не отображаются.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB