我想通过SSH将数据发送到我的服务器。数据是需要保存到服务器上的目录中的图像文件。
如果我通过SSH运行脚本,如何获取PHP脚本来读取图像文件?
例如,如果我使用bash,我可以做
./uploadimage.bash -image.jpg
就是这样。但我对PHP的了解有限。通常,PHP在处理文件时使用$ _FILE数组,据我所知。如果我通过SSH发送文件,是否需要使用它?
答案 0 :(得分:2)
答案 1 :(得分: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.
答案 2 :(得分:0)
如果您只想将一堆文件上传到远程服务器,最好的办法是使用scp
命令,而不是PHP
scp /your/file.png username@host:/remote/path.png
如果您通过SSH会话执行PHP脚本,则无法通过SSH发送文件。您必须先将其复制到远程服务器,然后执行使用file_get_contents
之类的PHP。
如果您确定 PHP必须是文件的收件人(可能您想要做一些逻辑来确定文件名,路径),您必须将其作为Web服务器托管,并且您可以使用curl
上传文件,如下所示:
curl -k -F myfile=@image.png foo.php.