Загрузить файл через VBS и переполнение стека

Я пытаюсь загрузить файл .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, фрагмент строкового идентификатора для загрузчика. Два, текстовый файл.

например. Предположим, что человек отправляет две данные, «myperson» и hello.txt

php должен сначала создать каталог от root, / uploads / myperson /

тогда загрузите текст там. /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 читает мой текстовый файл как Unicode, хотя мой текстовый файл находится в ANSI.

Любая помощь приветствуется.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]