Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
#1

Реализация небольшой идеи в PHP - PHP

10.04.2018, 20:10. Просмотров 206. Ответов 12
Метки нет (Все метки)

Всем привет. У меня возникла одна проблема при реализации одной идеи. Я пытаюсь сделать такое: сначала открываю файл users.txt, потом перебрать все строки из линии. В каждой линии уникальное имя, а на сервере есть файл с таким именем. Мне нужно открыть все эти файлы с названиями из users.txt и записать там что то. Пытался примерно так:
PHP
1
2
3
4
5
6
7
8
9
if (isset($servername) && $pcname == "all")
   {
$content = file('users.txt');
foreach ($content as $line) {
    $fh=fopen("users/".$line.".txt", "w+");
    fwrite($fh, $servername);
    fclose($fh);
   }
}
Ничего не получается. В инете много копал, ни че по теме не нашел. Кто сможет, помогите. Заранее спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2018, 20:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализация небольшой идеи в PHP (PHP):

Небольшой ASK людям реально работающим с сайтами и с PHP
Будьте добры разъясните мне одну ситуацию. Есть сайт, довольно большой, с...

Есть небольшой скрипт-грабер на php, как его корректно вывести в вебдок?
скрипт грабит телепрограмму: <? header('Content-Type: text/html;...

Идеи для сайтов
Всем привет! Я веб-разработчик, знаю PHP(основы), CSS, HTML. Есть два сайта...

Нужны идеи по оптимизации меню
Добрый день всем. Даже не знаю как объяснить.. Имеем вот такое меню: ...

Упростить небольшой код
Как упростить код? <div class="test"> <table class="table table-bordered...

готовый небольшой сайт на php
сайт готов, есть ошибки с регистрацией, так и не довёл до ума этот пункт,...

12
atanov
179 / 178 / 71
Регистрация: 26.05.2016
Сообщений: 1,132
11.04.2018, 08:18 #2
loozsec7, противоречие однако у Вас:
Цитата Сообщение от loozsec7 Посмотреть сообщение
есть файл с таким именем
и
Цитата Сообщение от loozsec7 Посмотреть сообщение
открыть все эти файлы с названиями из users.txt
.

"Кто на ком стоял?". Собачье сердце
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
11.04.2018, 20:55  [ТС] #3
Наверное вы неправильно поняли. В users.txt есть имена, а в папке users есть файлы с именами из users.txt
0
Jewbacabra
Эксперт PHP
3091 / 2678 / 1224
Регистрация: 24.04.2014
Сообщений: 8,191
11.04.2018, 21:38 #4
PHP
1
2
3
4
5
6
7
8
$content = file('/full/path/to/users.txt', FILE_IGNORE_NEW_LINES);
foreach ($content as $line) {
    $path = realpath("/full/path/to/users/$line.txt");
    if (mb_strpos($path, '/full/path/to/users') !== 0) {
        throw new Exception('Bad file '.$line.'.txt');
    }
    file_put_contents($path, $servername);
}
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
14.04.2018, 09:59  [ТС] #5
Не работает. Вызывается исключение и не записывается
0
Jewbacabra
Эксперт PHP
3091 / 2678 / 1224
Регистрация: 24.04.2014
Сообщений: 8,191
14.04.2018, 10:13 #6
Цитата Сообщение от loozsec7 Посмотреть сообщение
Вызывается исключение
какое?
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
14.04.2018, 10:15  [ТС] #7
Вот это
PHP
1
throw new Exception('Bad file '.$line.'.txt');
0
Jewbacabra
Эксперт PHP
3091 / 2678 / 1224
Регистрация: 24.04.2014
Сообщений: 8,191
14.04.2018, 10:16 #8
Цитата Сообщение от loozsec7 Посмотреть сообщение
Вот это
Результат какой КОНКРЕТНЫЙ.
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
14.04.2018, 10:19  [ТС] #9
Говорит плохой файл WIN-96BVOQVUV8K.txt и в файл ничего не записывается
0
Jewbacabra
Эксперт PHP
3091 / 2678 / 1224
Регистрация: 24.04.2014
Сообщений: 8,191
14.04.2018, 10:23 #10
loozsec7, А код при это какой?
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
14.04.2018, 10:27  [ТС] #11
Справился с задачей. Спасибо большое
0
Jewbacabra
Эксперт PHP
3091 / 2678 / 1224
Регистрация: 24.04.2014
Сообщений: 8,191
14.04.2018, 10:27 #12
realpath же false вернет если файл не существует. В общем мне лень обрабатывать этот случай, эта проверка нужна чтобы в списке файло не оказалось что-либо такое ../../../index.php
0
loozsec7
2 / 2 / 2
Регистрация: 24.12.2017
Сообщений: 46
14.04.2018, 11:04  [ТС] #13
Оказалось у меня в файл записывается сначала имя, а потом переходит на новую строку. Из-за этого имя не находилось в файле.
Т.е при записи в файл, у меня все записывается так:
1.username
2.//здесь бывает курсор для редактрирования

А нужно так
1.username //здесь курсор
Код для записи в файл:
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
$user = $_GET['newuser'];
 if (isset($user)) {
if ($user!="") {
    $fh=fopen("users.txt", "a+");
    $user = trim(preg_replace('/\s/', '', $user));
    fwrite($fh, $user."\r\n");
    fclose($fh);
   }}
 
?>
Как сделать так, чтобы каждый раз все записывалось с новой строки, но с условием что на новую строку он перейдет только при следующем редактрировании? Заранее спасибо
0
14.04.2018, 11:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2018, 11:04
Привет! Вот еще темы с решениями:

Реализация калькулятора на PHP
По заданию необходимо создать калькулятор на PHP. Я сделал набросок, но как...

Реализация алгоритма Дейкстры на PHP
Доброй ночи. Необходимо реализовать алгоритм Дейкстры на PHP. Читал много...

Реализация идеи
Доброго времени суток. Вопрос может быть будет странным.По сути у меня вот...

Реализация некоторой идеи в собственном проекте для школы
Доброго времени суток, обитатели форума. Пишу для школы экзаменатор в рамках...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru