使用Visual Basic写入Web服务器上的文本文件

时间:2015-04-17 19:01:38

标签: php vb.net

我正在开发一个项目,我在Visual Basic中完成了一个简单的传送带程序。我在网站上有一个按钮,当按下时,通过简单的PHP服务器程序将“1”写入文本文件。 VB输送机系统监控文本文件,如果输出值为“1”,则输送机停止。然后我在VB程序上有一个复位按钮,按下时应该在文本文件中写一个“0”并允许传送带重新启动。我能够让VB程序监视文本文件,并且它可以正常工作,但我无法通过重置按钮将“0”写入文本文件。

读取文件的代码是:

 Dim remoteStatus As New WebClient()
        Dim data = remoteStatus.DownloadString("http://www.users.wfleitz.com/fleitzwc/example.txt")
        Console.WriteLine(data)
        Console.Read()

        Dim remoteEnable As Boolean

        If data.Trim = "0" Then
            remoteEnable = True

        ElseIf data.Trim = "1" Then
            remoteEnable = False

        Else
            remoteEnable = False

        End If

我一直试图用来写入文本文件的代码是:

Private Sub PushButton1_Load(sender As Object, e As EventArgs) Handles PushButton1.Click

        Dim resetEvent As New WebClient()
        Dim textAddress As String = "http://www.users.miamioh.edu/fleitzwc/example.txt"
        Dim resetCommand As String = "0"

        Dim resetArray As Byte() = Encoding.ASCII.GetBytes(resetCommand)

        Dim resetStream As Stream = resetEvent.OpenWrite(textAddress, resetCommand)
        resetStream.Write(resetArray, 0, resetArray.Length)
        resetStream.Close()

    End Sub

我正在考虑的另一件事是,不是让VB程序写入文本文件,让它与包含网站代码的PHP文件对话,并让它发送“0”值。我不知道那是否更清洁。

如果有人能指出我正确的方向,我们将不胜感激。

提前谢谢你, Wfleitz

1 个答案:

答案 0 :(得分:0)

在你的情况下我会做的就是使用PHP,就像你说的那样。

<?php
/*
    Upload this to http://www.users.miamioh.edu/fleitzwc/script.php or something like that.
    Do either
    http://www.users.miamioh.edu/fleitzwc/script.php?bar=get or
    http://www.users.miamioh.edu/fleitzwc/script.php?bar=reset
*/
$foo = $_GET['bar'];
if ($foo=="get"){
    echo file_get_contents("example.txt");
}
if ($foo=="reset"){
    file_put_contents("example.txt","0");
}

这对你正在做的事情应该很好。这有些不完整,但因为我没有完全关注问题的细节,但我认为你可以修改它以满足你的需求。如果没有,我可以更新它。