Excel VBA-远程用户的“文件不存在”错误消息


Excel VBA - File does not exist error message for remote users

我有一个html页面,其中有一个表单,用户可以在其中上传.txt文件到服务器。他们选择文件并按下上传按钮,文件就会通过PHP脚本上传到网站根文件夹。此根文件夹中有一个.xlsm文件,用户使用该文件将上载的文件上载到MS SQL server数据库中,该数据库运行查询并将结果发送回.xlsm文件。

我遇到的问题是,当用户上传文件时,临时文件会(使用move_uploaded_file方法)移动到网站根目录,保存的文件会上传到数据库,但用户不断收到文件不存在的错误消息。当我手动将文件从另一个目录复制到根目录时,用户可以将数据上传到数据库
这就像临时文件被移到根目录,但不能使用。这是我的代码:

Html:upload.Html

<html>
    <form enctype="multipart/form-data" action="upload.php" method="POST">
        <input type="hidden" name="MAX_FILE_SIZE" />
        Choose a file to upload: <input name="nfile" type="file" /><br />
        <input type="submit" value="Upload File" />
    </form>
    <br><br>
    <a href='Lostsales.xlsm'>Spreadsheet</a>
</html>

PHP:PHP.html

<?php
$name = $_FILES["nfile"]["name"];
$tmp_name = $_FILES["nfile"]["tmp_name"];
move_uploaded_file($tmp_name, $name);
echo $tmp_name;
?>
<html>
<form action="upload.html">
<input type="submit" value="Done" />
</form>
</html>

用于将数据上传到MS SQL数据库的VBA代码:Lostsales.xlsm

Sub Button1_Click()

    Dim con As New ADODB.Connection
    con.Open "Provider=SQLOLEDB.1;Password=valencia;Persist Security Info=True;User ID=lostsls;Initial Catalog=Lost_sales;Data Source=PCS2635'SQLEXPRESS"
    con.Execute "BULK INSERT lsdata FROM '" & Cells(7, 1).Value & "' WITH(FIRSTROW = 2, FIELDTERMINATOR=''t' ,ROWTERMINATOR=''n')"
    con.Close
    Set con = Nothing

End Sub

Cells(7, 1).Value=C:'inetpub'wwwroot'test'lostsls'import.txt

远程用户运行VBA宏时,通常会收到文件C:'inetpub'wwwroot'test'lostsls'import.txt不存在的消息。其中import.txt是用户在HTML/PHP代码中上传的文件。当我尝试的时候,它确实被上传了。

我做对了。我在PHP脚本中使用了copy($tmp_name, $name),而不是使用move_uploaded_file($tmp_name, $name)

uploaded_file方法似乎无法将文件复制到文件夹中并使其可用。