我正在开展一个涉及超市系统的学校项目,我有一台 Shop PC(本地主机)和一台总部服务器(托管在 Amazon EC2 上)。其中一个要求是 Shop PC 将生成一个事务文件(我有一个生成文件的按钮),并且该文本文件需要发送到总部服务器。我在总部服务器上创建了一个具有 777 权限的文件夹。我试图使用 PHP 的复制功能简单地将文件发送/上传到该文件夹,但这不起作用。关于我如何做到这一点的任何线索?我没有在亚马逊上安装 ftp,也无法按照要求安装。
此外,我无法在总部管理员上创建上传表单(多部分表单?)来上传文件,因为店员无法访问总部服务器页面。
需要上传文件的文件夹地址为:
"site address"/uploads
我以以下方式创建事务文件:
$ourFileName = "transaction.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
//fwrite($fh, $stringData);
$sql = mysql_query("the query");
while($row=mysql_fetch_array($sql)){
$stringData = "data";
fwrite($ourFileHandle, $stringData);
}
fclose($ourFileHandle);
该文件是在商店 PC 上创建的,我想将其发送到总部服务器,在那里可以对其进行解析并添加到总部数据库中。要将文件发送到总部服务器中的上传文件夹,我按照上面的代码:
$filename = "news.txt";
$newfile = "siteaddress/uploads/" . $filename;
if(copy($ourFileName, $newfile))
{
print("<h3> UPLOAD SUCCESSFUL!</h3>");
}
else
{
print("<h3>ERROR UPLOADING FILE!</h3>");
}
讨论后编辑:
总部服务器有 php。事实上,它在 parse_transaction.php 中定义了一个文件解析器,其开头如下:
<?php
include "../storescripts/connect_to_mysql_HQ.php";
mysql_query($sql);
mysql_query($sql2);
mysql_query($sql3);
$filename= mysql_real_escape_string($_FILES["file"]["tmp_name"]);
$lines = file($filename); // slurp file and split into an array by lines
也许可以以某种方式直接在此处发送事务文件以进行解析和更新,而不将其存储在上传文件夹中?