1

我非常确信这里已经提出了类似的问题,但我现在正在失去理智。

我有一个非常简单的 C# 和 PHP 代码,我编写它只是为了测试我的环境。有两部分,第一部分是应该发布一些数据的 C# 代码,第二部分是应该接收数据的 PHP。在 VS2010 的 html 可视化器中,我可以看到我所期待的,但我无法在 Web 浏览器中看到相同的内容。我必须承认,就发布到 php 页面而言,我有点新手,所以任何帮助将不胜感激。

第 1 部分:C# 代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            string _url = "http://localhost/data.php";
            string _data = "woooooo! test!";

            for (; ; )
            {
                using (WebClient _client = new WebClient())
                {
                    _client.Headers[HttpRequestHeader.ContentType] = 
                         "application/x-www-form-urlencoded";
                    string _html = _client.UploadString(_url, _data);
                }
            }
       }
   }
}

第 2 部分:php 代码:

<?php 
    echo "bah bah bings";

var_dump(file_get_contents("php://input"));
if ($postdata = file_get_contents("php://input"))
{
    echo "Works";
}
else {
    echo "Doesn't work";
}   
echo($postdata);

?>

并像这样调用页面:

http://localhost/data.php

这就是我想要实现的目标: 将字符串发送到 PHP 页面并让 PHP 页面显示字符串

谢谢 :)

4

2 回答 2

1

但我无法在网络浏览器中看到相同的内容。

您通过 POST 方法从 C# 发布数据,浏览器通过 GET 方法调用您的 php,当 GET php 没有从 php://input 接收任何数据时

您已存储 POST 数据,例如

if ($postdata = file_get_contents("php://input"))
{
    echo "Works";
    file_put_contents('mypathstore/data.txt', $postdata);
}
else {
    echo "Doesn't work";
}

在另一页

<?php
echo file_get_contents('mypathstore/data.txt');
于 2012-05-17T10:38:39.500 回答
1

对。我懂了。上面的工作非常好。我的困惑来自于我想在浏览器中看到这一点,而这并不是必需的。它是一个 PHP 脚本,服务器端,其目的是将数据插入 MYSQL 后端。感谢所有的帮助。奇迹般有效。

于 2012-05-19T10:51:43.243 回答