Php 使用vbscript通过HTTP上传文本文件
我想使用vbscript通过HTTP将文本文件从本地驱动器上载到web服务器。如何做到这一点?我需要上传一个.txt文件到服务器 我使用的Vbscript代码:Php 使用vbscript通过HTTP上传文本文件,php,html,vbscript,webserver,Php,Html,Vbscript,Webserver,我想使用vbscript通过HTTP将文本文件从本地驱动器上载到web服务器。如何做到这一点?我需要上传一个.txt文件到服务器 我使用的Vbscript代码: strUserID = "******" strPassword = "******" strURL = "http://testpias.site50.net/http/up.php" Set HTTP = WScript.CreateObject("Microsoft.XMLHTTP") Set fso = Crea
strUserID = "******"
strPassword = "******"
strURL = "http://testpias.site50.net/http/up.php"
Set HTTP = WScript.CreateObject("Microsoft.XMLHTTP")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1
objStream.Open
objStream.LoadFromFile "G:\Http\http.txt"
HTTP.open "POST", strURL & "http.txt", False , strUserID , strPassword
WScript.Echo "Now uploading file " & "G:\Http\http.txt"
HTTP.send objStream.Read
WScript.Echo "Uploading complete for file " & fso.GetFileName(File)
WScript.Echo "All files uploaded."
Set HTTP = Nothing
我用来接收文件的PHP代码:
<?php
$file_path = "http/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else{
echo "fail";
}
?>
但是我在运行vbscript“访问被拒绝”时遇到了这个错误 对于您的VBScript,我建议如下(不要使用
PUT
):
然后在接受文件的PHP中,您也必须做一些工作。确保处理程序正在查找正确的索引。我们还想返回一些响应,以便我们知道发生了什么
<?php
if (!isset($_FILES['dataFile']['error']) || is_array($_FILES['dataFile']['error'])) {
switch ($_FILES['dataFile']['error']) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
echo 'Unable to Upload. No file sent.';
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
echo 'Unable to Upload. Exceeded file size limit.';
default:
echo 'Unable to Upload. Unknown errors.';
}
die();
}
$file_path = "http/";
$file_path = $file_path . basename( $_FILES['dataFile']['name']);
if(move_uploaded_file($_FILES['dataFile']['tmp_name'], $file_path)) {
echo "File {$_FILE['dataFile']['name']} uploaded success";
} else{
echo "Unable to upload. Unable to move uploaded file.";
}
?>
我建议通过HTTP使用POST
。由于您添加了PHP
作为标记,我建议您使用PHP脚本来接受POST
。如果服务器甚至支持协议.Thnks,则通过VBscript执行WebDAV可能会很困难。我使用“POST”和一个php文件来接收数据,但我知道运气。我的代码回答“访问被拒绝”,我正在更新我使用的代码。请给我一个解决方案。很抱歉,这个错误可能是由很多事情造成的。您需要在整个过程中添加一些错误检查。验证您是否可以创建HTTP对象、文件系统对象等。可能您的脚本无法从G:\HTTP\HTTP.txt
读取。而且你的帖子看起来格式不正确。它必须正确设置和格式化。非常感谢您的回复。我在vbscript中出错。在这一行中,错误是“需要对象”。请帮助这将表明之前的行没有创建对象。我添加了一些代码。还要确保该文件存在于路径中,并且具有正确的权限。
<?php
if (!isset($_FILES['dataFile']['error']) || is_array($_FILES['dataFile']['error'])) {
switch ($_FILES['dataFile']['error']) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
echo 'Unable to Upload. No file sent.';
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
echo 'Unable to Upload. Exceeded file size limit.';
default:
echo 'Unable to Upload. Unknown errors.';
}
die();
}
$file_path = "http/";
$file_path = $file_path . basename( $_FILES['dataFile']['name']);
if(move_uploaded_file($_FILES['dataFile']['tmp_name'], $file_path)) {
echo "File {$_FILE['dataFile']['name']} uploaded success";
} else{
echo "Unable to upload. Unable to move uploaded file.";
}
?>