【问题标题】:Executing PHP script via SSH通过 SSH 执行 PHP 脚本
【发布时间】:2012-02-27 23:02:42
【问题描述】:

我想通过 SSH 向我的服务器发送数据。数据是图像文件,需要保存到服务器上的目录中。

如果我通过 SSH 运行脚本,如何获取 PHP 脚本来读取图像文件?

例如,如果我使用 bash,我可以这样做

./uploadimage.bash -image.jpg

就是这样。但是我对PHP的了解是有限的。据我所知,通常 PHP 在处理文件时使用 $_FILE 数组。如果我通过 SSH 发送文件,是否需要使用它?

【问题讨论】:

标签: php file bash ssh


【解决方案1】:

通过 php 命令行可执行文件运行脚本:

php myscript.php image.jpg image2.jpg

您可以通过$argv 数组获取文件名并以您喜欢的方式处理它们。

【讨论】:

    【解决方案2】:

    这取决于您需要对图像做什么。

    • 您只需要将它们回显给用户吗?

      echo file_get_contents('image.jpg');
      
    • 您是要检索传递给脚本的命令行变量吗?使用$argv

      myScript.php image.jpg # image.jpg becomes $argv[1]
      
    • 您需要对图像进行处理吗?使用GD functions

      $image = imagecreatefromjpeg('image.jpg');
      // Do processing
      imagejpeg($image); // Pass a filename if you want to save it instead of output it.
      

    【讨论】:

      【解决方案3】:

      如果你想简单地将一堆文件上传到远程服务器,最好的办法是使用scp 命令,而不是 PHP

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

      如果您通过 SSH 会话执行 PHP 脚本,则无法通过 SSH 发送文件。您必须先将其复制到远程服务器,然后执行使用file_get_contents 或类似的PHP。

      如果您确定 PHP 必须是文件的接收者(也许您想执行一些逻辑来确定文件名、路径),您必须将其作为网络服务器托管,并且您可以使用curl 上传文件,如下所示:

      curl -k -F myfile=@image.png foo.php.
      

      【讨论】:

        猜你喜欢
        • 2011-05-09
        • 1970-01-01
        • 2017-03-21
        • 1970-01-01
        • 2017-08-02
        • 1970-01-01
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多