Я пытаюсь загрузить файл .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.
Любая помощь приветствуется.
Задача ещё не решена.
Других решений пока нет …