2016-11-21 30 views
-2

傳遞變量到PHP腳本[POST]我使用此代碼:如何使用C#

public void sendPostData(string url, string data) 
    { 
     WebRequest req = WebRequest.Create(url); 

     req.Method = "POST"; 
     req.ContentType = "application/x-www-form-urlencoded"; 

     byte[] bytes = Encoding.UTF8.GetBytes(data); 
     req.ContentLength = bytes.Length; 

     Stream dataStream = req.GetRequestStream(); 
     dataStream.Write(bytes, 0, bytes.Length); 
     dataStream.Close(); 
    } 

PHP進行後處理:

<?php 

if(@$_POST['filename']) 
{ 
    $data = filter_var($_POST['filename'], FILTER_SANITIZE_STRING); 
    $f = fopen($data.".txt", "w"); 
    fclose($f); 
} 
?> 

我打電話這個:

sendPostData("http://127.0.0.1/csharptest/index.php", "filename=myvariablehere"); 

所以,它所做的只是在服務器上創建一個文件名「myvariablehere」,而不是在myvariablehere中存儲保存數據的值。

我希望在服務器上存儲「myvariablehere」值。

請幫助這裏!

感謝

+1

什麼是你所得到的網址,嘗試檢查元素 –

+0

這聽起來像代碼的做法剛好它寫的是什麼。 –

+0

我沒有得到任何網址。我只是想在服務器上保存變量值。它所做的只是保存我的變量名稱而不是其中的數據。 –

回答

0

試試這個代碼

public static class Upload 
    { 
     public static byte[] Post(string uri, NameValueCollection pairs) 
     { 
      byte[] response = null; 
      using (WebClient client = new WebClient()) 
      { 
       response = client.UploadValues(uri, pairs); 
      } 
      return response; 
     } 
    } 

,然後簡單地調用這個

var response = Upload.Post("URL", new NameValueCollection() { 
    { "fileName", "test" }, 
});