- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Предположим, имеется 5 txt-файлов:
1.txt с содержанием
2.txt с содержанием
3.txt с содержанием
4.txt с содержанием
5.txt с содержанием
Нужен скрипт или программа, в которую можно загрузить все 5 файлов и на выходе получить 1 txt-файл с содержанием:
Есть ли что-нибудь подобное?
Заранее спасибо за ответ
Можно юзать что нить вроде простого чтения директории и сложения файлов в одну строку
Если что-то не дописал, сори, пишу почти во сне :)
Эх.............
Добрый старый ДОС!!! :)
Сейчас можно набрать в фаре или командном окне (cmd):
copy 1.txt + 2.txt + 3.txt + 4.txt + 5.txt 1.txt
и ключ /b, если копируются бинарные (не текстовые ;)) файлы:
copy 1.txt + 2.txt + 3.txt + 4.txt + 5.txt 1.txt /b
if ($file != "." && $file != "..") {
а что в этой строке вместо точек вставлять?
и вот в этой строке
$str.=file_get_contents($file)."\r\n";
точка после $str не лишняя?
и ключ /b, если копируются бинарные (не текстовые ;)) файлы:
Файлы как раз таки текстовые :)
copy 1.txt + 2.txt + 3.txt + 4.txt + 5.txt 1.txt /b
да и 5 файлов я в качестве примера привел, в действительности их будет в районе 1000, а может и больше - состарюсь писать такую строку :)
Но все равно спасибо за интересный вариант - не доучил я ДОС :o
а что в этой строке вместо точек вставлять?
ничего, это текущий и родительский каталог
и вот в этой строке точка после $str не лишняя?
нет не лишняя, это вы соединяете строки. Но в начале скрипта надо $str='';
Скрипт загрузит все файлы в память и только потом запишет на диск. Файлы большие?
Есть еще старый добрый cat для *nix
http://www.freebsd.org.ua/man/cat.1.html
или на PHP5. В памяти будет один файл.
в действительности их будет в районе 1000, а может и больше - состарюсь писать такую строку
FOR /F %i IN ('DIR /A-D /N /B') DO @COPY 1.txt+%i 1.txt /B/Y
Заставили вспомнить молодость... 😂
ДОС - это сила, такие bat-файлы для сборки проектов писали, на десятки килобайт...
З.Ы.
В примере для удобства идёт сортировка файлов по названию.
Блин, пора спать идти. Сохранил код, запускаю - ничего не происходит. И так, и эдак - ничего не происходит. Оказалось, что сервак запустить забыл 😆😂
Shtogrin, спасибо, Ваш вариант работает отлично🙄
Файлы большие?
Да вроде нет - 3-10 Кб.
Thats right, Ваш вариант вроде тоже работает (в файл все сохраняет), но выдает ошибку
Warning: file_get_contents(test) [function.file-get-contents]: failed to open stream: Permission denied in z:\home\localhost\www\t\dir.php on line 5
Заставили вспомнить молодость... 😂
да уж )))
Ну, вроде разобрались :) Всем откликнувшимся большое спасибо :)
да и 5 файлов я в качестве примера привел, в действительности их будет в районе 1000, а может и больше - состарюсь писать такую строку
copy *.txt out.txt /b
if ($file != "." && $file != "..") {
При чтении директории выдается к списку файлов ещё и пути, те саммые пресловутые точки, поэтому их и фильтруем.
Но в начале скрипта надо $str='';
В данном случае необязательно, так как переменная $str у нас пуста. В принципе, чтобы не было такой ошибки
Notice: Undefined variable: str in z:\home\localhost\www\t\dir.php on line 5
Можно и сделать такое $str='' , но смысла в данном случае не вижу.
Можно и сделать такое $str='' , но смысла в данном случае не вижу.
Полный бред, вы же сами и объяснили смысл.