Intereting Posts
Возможно ли запустить Coldfusion & PHP на одном сервере и на веб-сайте? Необходимо объединить несколько PDF-файлов в один PDF-файл с разделами «Содержание» Как я могу не позволить пользователю вернуться после выхода на PHP? Соединение MySql PDO с базой данных Как несериализовать строку в массив Измерьте размер строки в байтах в php sql-запрос с двумя объединениями и простая логика MySQL UDF, который выполняет поиск и замену REGEX Как отображать процент загрузки и как это сделать без javascript? Более быстрый способ заполнения данных mysql и php Хранение данных формы как переменной сеанса Как установить сопоставление таблицы с utf_general_ci с помощью doctrine2 Magento Цена доставки зависит от страны. Как я могу это сделать? Используя PHP или JavaScript Facebook SDK, как я могу заставить пользователя войти на мой сайт? Ошибка: эта функция недоступна для используемой базы данных.

Как заставить его запустить команду `exec ()` в PHP для редактирования некоторого файла в Mac OS X?

Когда у меня есть этот PHP-скрипт.

<?php exec('/usr/local/bin/mate hello.txt'); ?> 

Например, он не работает в веб-браузере с http: //abc/hello.php .

Команда mate – это «приложение TextMate», и это просто для редактирования hello.txt.

Это проблема с разрешением php? Мне просто нужно запустить некоторые команды на моем локальном веб-сервере (я единственный пользователь), поэтому я могу открыть разрешение для запуска этой, казалось бы, опасной функции exec() .

  • В: Как заставить запустить функцию PHP exec() ?

Я использую Mac OS X 10.6.6 / Apache / PHP5.

ADDED

Я думаю, что невозможно запустить что-то с PHP на моем Mac, но для моих целей открыть редактор TextMate для редактирования, используя протокол txmt, отлично работает.

РЕШИТЬ

С точки зрения запуска приложения в веб-браузере (особенно в Safari) не может быть сделано с php, но с обработчиком протокола.

Запуск TextEditor для редактирования.

TextEditor предоставляет свой собственный обработчик протокола txmt://open/?url=file://THE_FILE_TO_EDIT" .

Или вы можете нажать кнопку, чтобы отредактировать файл при нажатии.

 <form action="txmt://open/?url=file://FILE_TO_EDIT" method="post"> <button type="submit">Edit</button> </form> 

Запуск другого приложения

Вам нужно придумать свой собственный обработчик протокола. имеет всю необходимую информацию с примером.

Например, для запуска PathFinder

Создавайте типы URL / схемы в Info.plist.

Вы можете захотеть открыть главное окно. Вы можете установить Application is agent .

введите описание изображения здесь

Создайте обработчик pf: protocol.

Он просто анализирует входные данные pf:INPUT_GINVEN , чтобы получить часть INPUT_GIVEN чтобы передать ее как параметр PathFInder.

 @implementation URLHandlerCommand! - (id)performDefaultImplementation { NSString *urlString = [self directParameter]; NSLog(@"url :=: %@", urlString); NSArray *components = [urlString componentsSeparatedByString: @":"]; NSString* string2 = (NSString*) [components objectAtIndex:1]; NSLog(@"url :=: %@", string2); [[NSWorkspace sharedWorkspace] openFile:string2 withApplication:@"Path Finder"]; [[NSApplication sharedApplication] terminate:nil]; return nil; } 

@конец

Используйте протокол pf:OPEN_DIRECTORY .

 <form action="pf:DIRECORY_TO_OPEN" method="post"> <button type="submit">Open</button> </form>