Come posso eseguire uno script PHP facendo cadere il file sull'icona?

2

Ho uno script php che accetta un nome file come argomento. Quando lo eseguo da una finestra terminale, digito

./my_script.php file_to_process.txt

Funziona alla grande!

Quello che vorrei essere in grado di fare è avere un'icona sul mio dock che quando faccio cadere un file su di esso, ecciterà lo script php e fornirà il percorso completo al file rilasciato come argomento per quello script .

È possibile? Potete fornire istruzioni passo passo?

    
posta Scott 10.01.2012 - 13:10
fonte

3 risposte

2

Sì, questo dovrebbe essere possibile usando Automator. Non ho lavorato con php dalla riga di comando, quindi non sono sicuro di come funzioni, ma questa è un'istruzione generale.

  1. Apri Automator (si trova nella cartella Applicazioni).
  2. Scegli di creare un'applicazione.
  3. SelezionaUtilitàsottoLibreriaescegliEseguiScriptShelletrascinalonell'areaadestra.
  4. Nell'area di testo per l'azione di script della shell di esecuzione, rimuovi "cat" e scrivi il percorso completo dello script che desideri eseguire.
  5. Seleziona per passare l'input a stdin.
  6. Salva l'applicazione da qualche parte e trascinala sul tuo dock.
  7. Provalo trascinando un file su di esso.
risposta data 10.01.2012 - 15:25
fonte
0

Devi utilizzare Automator.app

Crea un'applicazione e aggiungi un'utilità-> Esegui script di shell per includere my_script.php

    
risposta data 10.01.2012 - 15:15
fonte
0

Puoi farlo anche con AppleScript.

Lo script sottostante apre in modo ricorsivo tutti i file / cartelle lasciati su di esso. Per ogni file, eseguire lo script PHP definito da phpScriptPath passando il percorso del file come argomento.

Per creare l'applicazione:

1. Apri l'editor di AppleScript

2. Incolla il seguente codice:

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. Imposta il percorso assoluto di PHPscript

Modifica la prima linea di proprietà dello script

4. Esporta come applicazione

Menu File > Esporta:

  • Scegli il nome dell'app e amp; destinazione
  • Seleziona per esportare come applicazione
risposta data 24.02.2013 - 14:45
fonte

Leggi altre domande sui tag