【发布时间】:2012-11-21 21:41:42
【问题描述】:
我正在从事一个涉及超市系统的学校项目,我有一台 Shop PC (localhost) 和一台 HQ 服务器(托管在 Amazon EC2 上)。其中一个要求是 Shop PC 将生成一个事务文件(我有一个生成文件的按钮),并且该文本文件需要发送到总部服务器。我在总部服务器上创建了一个具有 777 权限的文件夹。我试图使用 PHP 的 copy 函数简单地将文件发送/上传到该文件夹,但这不起作用。关于我如何做到这一点的任何线索?我没有在亚马逊上安装 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
也许可以通过某种方式直接将事务文件发送到此处进行解析和更新,而不将其存储在上传文件夹中?
【问题讨论】:
标签: php file-upload amazon-ec2 777