Jak mogę uruchomić skrypt PHP, upuszczając plik na ikonę?

2

Mam skrypt php, który przyjmuje nazwę pliku jako argument. Kiedy uruchamiam go z okna terminala, wpisuję

./my_script.php file_to_process.txt

To działa świetnie!

Chciałbym móc mieć ikonę na moim doku, która po upuszczeniu na nią pliku spowoduje wyłączenie skryptu php i dostarczenie pełnej ścieżki do usuniętego pliku jako argumentu do tego skryptu.

czy to możliwe? Czy możesz podać instrukcje krok po kroku?

Scott
źródło

Odpowiedzi:

2

Tak, powinno to być możliwe przy użyciu Automatora. Nie pracowałem z php z wiersza poleceń, więc nie jestem pewien, jak to działa, ale jest to instrukcja ogólna.

  1. Otwórz Automator (jest w folderze Aplikacje).
  2. Wybierz, aby utworzyć aplikację. Select the Application template
  3. Wybierz Narzędzia w Bibliotece i wybierz Uruchom skrypt powłoki i przeciągnij go do obszaru po prawej stronie. Select Utilities, Run Shell Script
  4. W polu tekstowym dla działania skryptu uruchamiania powłoki usuń „cat” i wpisz pełną ścieżkę do skryptu, który chcesz uruchomić.
  5. Wybierz, aby przekazać dane wejściowe do standardowego wejścia.
  6. Zapisz gdzieś aplikację i przeciągnij ją do stacji dokującej.
  7. Wypróbuj go, przeciągając do niego plik.
Lizzan
źródło
Podążałem za twoimi wskazówkami. Gdy uruchomię to w automatorze i dodasz akcję wyszukiwania do „Pobierz określone elementy Findera”, działa to dobrze. Następnie usuwam „Get Specified Finder Items” i zapisuję go, a następnie próbuję upuścić na nim plik i nie działa - jakieś pomysły?
Scott
okazuje się, że krok 5 powyżej powinien być ustawiony na STDIN, a następnie należy przeczytać STDIN. Zamiast być strumieniem plików, STDIN zawiera nazwę pliku, który został usunięty.
Scott
@Scott, OK, super, zmienię wtedy instrukcje. Cieszę się, że to działa!
Lizzan
0

Musisz użyć Automator.app

Utwórz aplikację i dodaj skrypt Utilities- & gt; Run Shell, aby dołączyć swój my_script.php

Mark
źródło
0

Możesz to zrobić również za pomocą AppleScript.

Poniższy skrypt otwiera rekurencyjnie wszystkie upuszczone pliki / foldery. Dla każdego pliku uruchom skrypt PHP zdefiniowany przez phpScriptPath, podając ścieżkę pliku jako argument.

Aby utworzyć aplikację:

1. Otwórz edytor AppleScript

2. Wklej następujący kod:

property phpScriptPath : "/myPHP\ Scripts/my_script.php" -- Absolute path to your PHP script

on open droppedItems
    processItems(droppedItems)
end open

on processItems(theItems)
    repeat with theItem in theItems
        if isDirectory(theItem) then
            processItems(theItem)
        else
            do shell script phpScriptPath & " " & quoted form of (POSIX path of (theItem as alias))
        end if
    end repeat
end processItems

-- This function comes from here :
-- http://stackoverflow.com/questions/6872007/applescript-how-to-check-if-something-is-a-directory-or-a-file
on isDirectory(someItem) -- someItem is a file reference
    set filePosixPath to quoted form of (POSIX path of (someItem as alias))
    set fileType to (do shell script "file -b " & filePosixPath)
    if fileType ends with "directory" then return true
    return false
end isDirectory

3. Ustaw bezwzględną ścieżkę skryptu PHP

Edytuj pierwszą linię właściwości skryptu

4. Eksportuj jako aplikację

Menu Plik & gt; Eksport :

  • Wybierz nazwę aplikacji i przeznaczenie
  • Wybierz, aby wyeksportować jako aplikację
Bibou
źródło