通过vbs和php上传文件

时间:2016-04-07 15:29:39

标签: php file-upload vbscript

我正在尝试将.txt文件上传到服务器,客户端的vbs和服务器端的php。这就是我所做的,当我从某个地方复制它时,vbs部分很乱,修改了一下因为我不知道该怎么做。对不起,我是vbs的新手。

Dim sender

Dim strURL
Dim HTTP
Dim dataFile
Dim dataRequest
Dim objStream
strURL = "http://some-url/cgi-bin/upload.php"
Set HTTP = CreateObject("Microsoft.XMLHTTP")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.Open
objStream.LoadFromFile "test.txt"
dataFile = objStream.ReadText

sender = "testing"
dataRequest = "sender=" & sender & "&dat=" & dataFile

WScript.Echo "packet: " & dataRequest

HTTP.open "POST", strURL, False
HTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
HTTP.setRequestHeader "Content-Length", Len(dataRequest)

WScript.Echo "Now uploading file"

HTTP.send dataRequest
WScript.Echo HTTP.responseText

Set HTTP = Nothing

这里我发送两个东西给php文件。一个是$ sender,一个上传者的字符串标识符。二,txt文件。

例如,

。假设一个人发送了两个数据“myperson”和hello.txt

php应该首先从root创建一个目录,/ uploads / myperson /

然后在那里上传txt。 /uploads/myperson/hello.txt

php位于/cgi-bin/upload.php

这是.php

#!/usr/local/bin/php
<?php
echo "executed<br>";
$sender = $_POST['sender'];
echo "received sender=$sender";
$root = "../";
$target_dir = $root . "uploads/" . $sender . "/";
$target_file = $target_dir . basename($_FILES["dat"]["name"]);
mkdir($target_dir, 0777, true) or die("cannot create directory");
move_uploaded_file($_FILES["dat"]["tmp_name"], $target_file) or die("cannot move file");
?>

php可以接收$ sender,但不知何故无法根据$ sender创建新目录。

我尝试删除mkdir行,并将txt上传到当前目录,但是它回复“无法移动文件”,也许文件永远不会收到?

我还注意到vbs将我的txt文件读取为unicode,尽管我的txt文件是ANSI。

任何帮助表示感谢。

0 个答案:

没有答案