LINUX.ORG.RU

Сообщения Graduate

 

PHP: стандартный вывод ошибок от exec() и system()

Форум — Development

Язык PHP.

Как, запуская командуо болочки при помощи exec () или system (), получить в разные переменные STDOUT и STDERR?

Graduate
()

PHP и `командная строка`, нужен код выполнения

Форум — General

Используя PHP можно выполнять программы в командной оболочке с помощью кавычек `` (`pwd`, `ls`). Но как получить возвратный код выполненной команды?

$res = `pwd`; # Выполняется в одной оболочке
$code = `echo $?`; # Всегда 0. Выполняется в другой оболочке

Так не получиться, потому что каждая команда в кавычках выполняется в отдельной копии командной оболочки.

Что посоветуете?

Graduate
()

Поиск по регулярному выражению с позицией в строке

Форум — Development

Нужно с помощью preg_match() или другой функции получить не только часть строки, совпадающей с выражением, но и позицию первого вхождения этого отрывка в строку.

Например:

preg_match ('G.d', 'In God We Trust', $match);

$match (
[0] = «God»
[1] = 3 # эту позицию нужно получить
)

Graduate
()

Символа новой строки в конце файла не видно!

Форум — General

В Gnome реадкторе gedit не видно пустую строку, если она завершает файл. То есть файлы «text\n» и «text» в gedit выглядят одинакого.
Мне это не нравится, нельзя удалить символ новой строки в конце текста, потому что его не видно.
Как сделать так чтобы его было видно?

Graduate
()

Изменение символической ссылки

Форум — General

Есть возможность редактировать символическую ссылку, не заменяя ее новой? Потому что есть много жестких ссылок на этот файл (симв. ссылку), и пришлось бы менять все жесткие ссылки.

Graduate
()

PHP - директория запущенного скрипта

Форум — Development

Как заставить php скрипт текущей директорией считать директорию, где сам скрипт находиться? К примеру скрипт содержит команду touch ('./file');
Будучи запущеным из разных директорий, скрипт создает файл в этой директории, а не в той, где он сам находится.

Среди переменных окружения нет переменной директории скрипта.

Graduate
()

Нужно регулярное выражение

Форум — General

Символы в кавычках ".+", после которых идут три знака &, после идут опять символы в кавычках ".*".
Эта строка подходит: «Sun"aaa&bbb&ccood&„Earth“

Но такое рег. выражение не подойдет: ».+".*&.*&.*&.*".+", оно слишком громоздко, хотелось бы что-то типа ".+«&{3}».+", то есть нужно сказать - «Далее идут 3-ри таких то символа, возможно вместе с другими символами». Нужно чстобы я потом легко мог поменять 3 на 6, на 13 и т. д.

Graduate
()

Скопировать определенные файлы и директории с сохранением путей

Форум — General

Каким простым способом создать копию директории, которая содержала бы только определенные типы файлов исходной директории?

Например, есть Директория1, которая содержит массу файлов .jpg, .wmv, .html. Нужно создать Директорию2, которая содержала бы только файлы .html, причем с сохранением вложенности по директориям - если в исходной директории был файл ./Директория1/names/gregory/info.html, то и в Директории2 этот файл должен находиться по пути ./Директория2/names/gregory/info.html. Каталоги names и gregory должны быть созданы пустыми только для сохранения пути.

Предложение скопировать содержимое Директории1 в Директорию2, а потом удалить все ненужное из Директории2 не подходит. Объем ненужных файлов может быть настолько болшой, что копирование их займет несколько часов.

Graduate
()

Apache: изменение стандартной директроии /var/www на /home

Форум — General

Хочу чтобы сайт располагался не в стандартной директории /var/www, а в /home/user.

Отключил SELinux для httpd:
# setsebool httpd_disable_trans 1
# service httpd restart

При рестарте httpd не ругается, но в броузере все равно не удается открыть страницу: «Forbidden. You don't have permission to access / on this server.»

Права на чтение в /home/user есть у всех.

ОС: CentOS 5.4

Graduate
()

Выборка путей из текстового файла

Форум — General

Какой программой отобрать из файла или потока все пути?

Объясню, файл содержит следующие данные: error: invalid compressed data to inflate pictures/mc5979395.jpg pictures/mc5979410.jpg bad CRC c1a4fff8 (should be 79b3af3f) pictures/mc5979443.jpg bad CRC 6474776b (should be 7aeaf252)

Обработав его программой prog < file, должен получить на выходе: pictures/mc5979395.jpg pictures/mc5979410.jpg pictures/mc5979443.jpg

Graduate
()

Удалить `bad CRC ` файлы из архива

Форум — General

Архив содержит много файлов. Некоторые файлы повреждены (bad CRC), как удалить только поврежденные файлы из архива (создать новый архив без поврежденных файлов)?

Я пробовал (не работает): unzip -F old.zip --out new.zip

(man unzip Fix the zip archive(...) -F (...) After the repair, the -t option of unzip may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip.)

Graduate
()

find - найти только файлы не соответствующие запросу

Форум — General

Какой опцией указать программе find найти только файлы не соответствующие запросу. К примеру как изменить команду `find . -name *.jpg`, чтобы она вывела все, КРОМЕ jpeg изображений (типа опция -v у grep). Последующая обработка по каналу не интересует, нужна именно опция find.

Graduate
()

Файл размера 0 байтов в Windows, и 2 Гб. в Linux

Форум — General

На дополнительном диске ntfs есть видео файл формата avi. Две системы на компе: Windows Vista и Linux Ubuntu. Из Windows этот файл имеет размер 0 байт, фильм даже не запускается. Из Linux файл имеет правильный размер 2 Гб., фильм нормально производиться. В чем проблема и делать? (Файловую систему в Windows проверял штатной утилитой - ничего не помогло)

Graduate
()

Предуприждение при find -mindepth опции

Форум — General

$ find . -type d -mindepth 2 | wc -l

find: предупреждение: вы указали опцию -mindepth после не требующего опций аргумента -type, но опции не зависят от положения (опция -mindepth одинаково влияет на тесты, указанные как до так и после нее). Пожалуйста, указывайте опции до последующих аргументов.

==========================================

К чему это предупреждение? Если опцию -type поставить после -mindepth, то предупреждения никакого нет.

Graduate
()

RSS подписка на новые темы