Выполнение скрипта PHP через SSH - PullRequest
0 голосов
/ 27 февраля 2012

Я хочу отправить данные на мой сервер через SSH.Данные представляют собой файлы изображений, которые необходимо сохранить в каталогах на сервере.

Если я запускаю скрипт через SSH, как мне получить PHP-скрипт для чтения файлов изображений?

Например, если я использую bash, я могу сделать

./uploadimage.bash -image.jpg

и это было бы так.Но мои знания PHP ограничены.Обычно PHP использует массив $ _FILE при работе с файлами, насколько я знаю.Нужно ли использовать это, если я отправляю файлы по SSH?

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

Это зависит от того, что вам нужно сделать с изображениями.

  • Вам просто нужно передать их пользователю?

    echo file_get_contents('image.jpg');
    
  • Вы хотите получить переменные командной строки, переданные в сценарий?Используйте $argv.

    myScript.php image.jpg # image.jpg becomes $argv[1]
    
  • Вам необходимо выполнить обработку изображений?Используйте функции GD .

    $image = imagecreatefromjpeg('image.jpg');
    // Do processing
    imagejpeg($image); // Pass a filename if you want to save it instead of output it.
    
2 голосов
/ 27 февраля 2012

Запустите скрипт через исполняемый файл командной строки php:

php myscript.php image.jpg image2.jpg

Вы можете получить имена файлов через массив $ argv и обращаться с ними любым удобным вам способом.

0 голосов
/ 27 февраля 2012

Если вы хотите просто загрузить несколько файлов на удаленный сервер, лучше всего использовать команду scp вместо PHP

scp /your/file.png username@host:/remote/path.png

Если вы выполняете сценарий PHP через SSHСессия, вы не можете отправить файл через SSH.Вы должны сначала скопировать его на удаленный сервер, а затем выполнить PHP, который использует file_get_contents или что-то в этом роде.

Если вы уверены , что PHP должен быть получателем файла(может быть, вы хотите сделать некоторую логику для определения имени файла, пути), вам нужно разместить его как веб-сервер, и вы можете использовать curl для загрузки файла, например:

curl -k -F myfile=@image.png foo.php.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...