2011-11-17 70 views
2

使用命令行界面我不能为我的生活发送一个文本文件。在接收端使用cURL命令行和php脚本发布文本文件

这里的命令行

卷曲-F“[email protected]” -F“NAME =斯科特” http://www.mydomain.com/go.php

这里是从本网站所采取的PHP,但这个例子是使用PHP的卷曲不是命令行。

<?php 
$recipient = "[email protected]"; 
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 <[email protected]_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; 
    } 
} 
?> 

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

+0

你能编辑你的文章,以表明哪些变量不能按照你的期望工作吗? $消息?祝你好运。 – shellter

回答

2

-F语法对我也不起作用。但是这样做:

curl --data-urlencode [email protected] --data-urlencode "name=Scott" http://www.mydomain.com/go.php 
+0

是的!谢谢。完美的作品。男人,花了很多年试图找出答案。很高兴你是一个天才! – hd112