Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для SadisT_UA
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 9

PHP работа с файлами

10.12.2015, 15:27. Показов 743. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста. Делаю скрипт для чтения из файла кода, туда вставляем домен из файла по строчно и записываем. Всё хорошо, но при создании файла index.php в коде после вставки домена появляется перенос, не могу его убрать, уже времени убил и нечего не получается А так же нужно создавать index.php в папке домена которого взяли из списка. Буду очень благодарен, если поможете.
1. Проблемма с появлением переноса
2. Создание папки с названием домена и созданием файла index.php в который запишется результат.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
error_reporting(E_ALL ^ E_DEPRECATED);
 
$file_name='code.txt'; // 1
 
$handlePos = @fopen('pos.txt', 'r+');//открываем файл с последним положением
if($handlePos){
    if (($buffer = fgets($handlePos, 10)) !== false) {
        $startPos=(int)$buffer;
        if($startPos<0) $startPos=0;
 
        $handle = @fopen('domains.txt', 'rb');
        if($handle){
            $buffer='';
            $newPos=$startPos;
            fseek($handle, $startPos, SEEK_SET);//указатель в положение
            if (($buffer = fgets($handle, 5000)) !== false) {//попытка чтения строки
                echo '<div>read line:<br/>',$buffer,'</div>';//прочитали строку
                $newPos=ftell($handle);//оказались в позиции
            }
            fclose($handle);
 
            if($newPos!=$startPos){
                rewind($handlePos);
                fwrite($handlePos, sprintf('%09d', $newPos));//записываем позицию, на которой остановились
            }
        }
        fclose($handlePos);
    }
}else{
    echo 'Печалька с pos.txt';
}
 
$file_new_name='index.php'; // 2
 
$r=fopen($file_name,'r'); // 3
 
$w=fopen($file_new_name, 'w'); // 4
 
while($str=fgets($r,1024)) // 5
{
  $str=ereg_replace('domen',$buffer,$str); // 6
  
  fputs($w,$str); // 7
}
 
 
fclose($r);  // 8
 
fclose($w);  // 9
/*
1. Определяем путь к файлу для чтения
 
2. Определяем путь к файлу для записи
 
3. Открываем файл для чтения
 
4. Открываем другой файл для записи
 
5. Начинам читать по одной строке в переменную $str из файла $r до тех пор, пока не достигнем конца файла (EOF — End Of File). Причем, строка читается либо до знака конца строки (EOL — End Of Line), либо до 1024-го символа. Это свойство функции чтения строки fgets().
 
6. Проводим замену 213 на 670.
 
7. Записываем строку $str в файл $w.
 
8, 9. После окончания цикла закрываем оба файла.
 
*/
 
?>
Добавлено через 11 часов 46 минут
Люди подскажите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2015, 15:27
Ответы с готовыми решениями:

Работа с файлами в PHP
Создать папку &quot;institute&quot; с правами доступа &quot;0777&quot; и скопировать в нее созданный текстовый файл &quot;speciality.txt&quot;, содержащий...

Работа с файлами PHP
Имеется текстовый файл, состоящий из строк разной длины. Найти и удалить из файла самую короткую строку. Если таких строк две,...

Работа с файлами PHP
Почему не работает скрипт. Он должен сохранять данные в content.txt &lt;?php if ($_Get) { $file=fopen('content.txt','w'); ...

11
 Аватар для Monster-95
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
10.12.2015, 16:22
SadisT_UA, Несколько раз прочел то что вы написали, но так и не смог понять в чем конкретна проблема
Цитата Сообщение от SadisT_UA Посмотреть сообщение
в который запишется результат.
Какой результат, короче я просто не понимаю чтобы хоть что-то вам подсказать
0
 Аватар для SadisT_UA
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 9
10.12.2015, 17:21  [ТС]
В общем берутся домены из файла domains.txt и берется файл с кодом к примеру
PHP
1
<? echo domen; ?>
После этого нужно создать новый файл index.php с кодом
PHP
1
<? echo "тут домен из файла domains.txt"; ?>
. При этом, чтоб создавалась папка с название доммена и туда записывался данный index.php. Не знаю как по другому обьяснить :\
0
 Аватар для Monster-95
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
10.12.2015, 18:03
SadisT_UA, Через часа два вернусь и помогу а пока что примерно набросаю. Если я правильно понял вам нужно что то в этом вроде
PHP
1
2
3
4
5
6
7
8
$dir = 'domen.ru';
    $file = "index";
    if(!mkdir($dir, true)){
        echo 'Error';
    }else{
        echo 'Yes';
        file_put_contents($dir.'/'.$file.".php","");
    }
Но чтобы данные все брались из файлов.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.12.2015, 19:14
Цитата Сообщение от Monster-95 Посмотреть сообщение
mkdir($dir, true)
интересная трактация. И сколько же "прав" получит каталог?
0
 Аватар для Monster-95
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
10.12.2015, 20:22
KOPOJI,
mkdir($dir, true) ну если не указывать параметр прав то вроде все права 0777 ну лучше будет mkdir($dir, 0777, true) все было сделано на скорую руку.
0
10.12.2015, 21:07

Не по теме:

Monster-95, так вы ж указали. Вот мне и было интересно, true - это сколько? 08 - это настолько много прав, что даже прочитать содержимое не сможешь..

0
 Аватар для Monster-95
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
10.12.2015, 21:13
KOPOJI, Хотите сказать вот это не одно и тоже?
mkdir ('test');
mkdir ('test', 0777);
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.12.2015, 21:17
Monster-95, нет, я хочу сказать, что
PHP
1
mkdir ('test', true);
и
PHP
1
mkdir ('test', 0777);
Совершенно не одно и тоже.
А вот это
PHP
1
mkdir ('test', true);
и вот это
PHP
1
mkdir ('test', 08);
да, одно и тоже..
0
 Аватар для SadisT_UA
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 9
10.12.2015, 21:45  [ТС]
Monster-95,Спасибо за то, что помогаете, но чет не могу приложить ума, на что его заменить, вроде и понятно с одной стороны, а с другой нет Могли бы Вы подставить ваш код в мой, чтоб он корректно работал?
0
 Аватар для Monster-95
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
11.12.2015, 16:23
SadisT_UA, Конец года вообще не успеваю вам помочь (загружен по работе). Сделаю более наглядный пример думаю дальше сами разберетесь.

Файл: domains.txt
Его содержание такого формата.

test.ru
test1.ru
test2.ru


PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
    $arr = file('domains.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $file_new_name='index';
    foreach($arr as $dir_name){
        if(!mkdir($dir_name, 0777, true)){
            echo 'Данные папки уже имеются';
        }else{
            file_put_contents($dir_name.'/'.$file_new_name.".php","");
        }
    }
?>
Данные пример является просто для понятия, да я и сам пока все еще учусь, и очень мало знаю.
Результат выполнения будет таков
Папки
test.ru
-index.php
test1.ru
-index.php
test2.ru
-index.php
1
 Аватар для SadisT_UA
0 / 0 / 0
Регистрация: 27.08.2015
Сообщений: 9
12.12.2015, 01:42  [ТС]
Monster-95, Спасибо, но почему то создается папка domen.ru , а не мои домены из списка :\

Добавлено через 1 час 4 минуты
upd. Всё разобрался, то у меня чет бока с вебсервером были. Спасибо еще раз Буду пытаться дальше решать вопрос, мб кто подскажет почему при записи домена в index.php у меня идет отступ вниз?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2015, 01:42
Помогаю со студенческими работами здесь

PHP работа с файлами
Здравствуйте. Самостоятельно изучаю PHP и теперь пробую работать с файлами. Написал такой скрипт: &lt;html&gt; ...

Работа с файлами в дирректории php
Есть дирректория files В ней лежат файлы 1) нужно вывести количество файлов в директории 2) Вывести имена 10 файлов начиная со...

PHP Работа с папками и файлами
Дан массив со строками.Создайте в папке &quot;test&quot; файлы, названиями которых служат элементы этого массива.

PHP работа с файлами & связь с JS
Всем привет! Такая задача: есть у меня файл &quot;C:/files/textW.txt&quot; и файл &quot;C:/files/textR.txt&quot;. Еще есть такой HTML код: &lt;html&gt; ...

проблема с файлами index.php и include.php
есть файл index.php и include.php в файле index.php я пишу следующее: &lt;td width=&quot;200&quot;&gt;&lt;img width=&quot;200&quot; src=&quot;&lt;?php...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru