Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用vbscript通过HTTP上传文本文件_Php_Html_Vbscript_Webserver - Fatal编程技术网

Php 使用vbscript通过HTTP上传文本文件

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

我想使用vbscript通过HTTP将文本文件从本地驱动器上载到web服务器。如何做到这一点?我需要上传一个.txt文件到服务器

我使用的Vbscript代码:

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.";
}
?>