在接收端使用cURL命令行和php脚本发布文本文件

在接收端使用cURL命令行和php脚本发布文本文件,php,command-line,curl,Php,Command Line,Curl,使用命令行界面,我一辈子都无法发送文本文件 这是命令行 curl-F“comments=@myfile.txt”-F“name=Scott” 下面是从这个站点获取的PHP,但示例使用的是PHP for curl,而不是命令行 <?php $recipient = "scott@mydomain.com"; if (empty($_POST)) { // We only accpet POSTs header('HTTP/1.0 403 Forbidden'); ex

使用命令行界面,我一辈子都无法发送文本文件

这是命令行

curl-F“comments=@myfile.txt”-F“name=Scott”

下面是从这个站点获取的PHP,但示例使用的是PHP for curl,而不是命令行

<?php
$recipient = "scott@mydomain.com";
if (empty($_POST)) {
    // We only accpet POSTs
    header('HTTP/1.0 403 Forbidden');
    exit;
} else {
    // Handle a POST
    $message .= "Submitted at ".date("F j, Y, g:i a")."\n\n";
    $message .= "Name:\n";
    $message .= $_POST['name']."\n\n";
    $message .= "-------------------------------------------\n\n";
    $message .= "Comments:\n\n";
    $message .= $_POST['comments']."\n\n";
    // Send message to email address
    $sent = mail($recipient, "Feedback", 
        $message, "From: Feedback <noreply@some_host.com>\r\n");

    if ($sent) {
?>
        <html>
        <body>
            Got POST and sent email:
            <pre><? echo $message; ?></pre>
        </body>
        </html>
<?php
    } else {
        // Return an error
        header('HTTP/1.0 500 Internal Server Error', true, 500);
        exit;
    }
}
?>

已收到邮件并已发送电子邮件:
curl --data-urlencode comments@myfile.txt --data-urlencode "name=Scott" http://www.mydomain.com/go.php

这东西返回正确,并回显它发送的电子邮件我没有得到文本文件的内容。那部分是空白的。尝试了一千种方法,但没有成功。

我也不喜欢-F语法。但这确实:


您是否可以编辑您的帖子,以指示哪些变量未按预期工作$消息祝你好运,是的!!非常感谢。工作完美。老兄,我花了很多时间想弄明白。很高兴你是个天才!!