【发布时间】:2018-04-05 16:11:10
【问题描述】:
我想用 PHP 向远程服务器发送一个文件。当我对文件名进行硬编码时,以下代码可以正常工作:
$output = shell_exec('curl -XPOST -F "file=@myfile.txt" http://135.195.42.168:6007');
echo "<pre>$output</pre>";
现在我需要动态决定 "file=@myfile.txt"。我尝试了以下方法:
$filePath = $_SERVER['DOCUMENT_ROOT'].'package/myzip_'.$owner_id.'.zip';
$name = basename($filePath);
$content = "file=@{$name}";
$output = shell_exec('curl -XPOST -F $content http://135.195.42.168:6007');
echo "<pre>$output</pre>";
很遗憾,上面的代码不起作用。请问有更好的建议吗?
【问题讨论】:
-
单引号将打印出
$content,而不是变量的内容。将其更改为双引号。 -
完美运行!非常感谢,@aynber。