我正在参与一个涉及超市系统的学校项目,我有一个Shop PC(localhost)和一个HQ服务器(托管在Amazon EC2上)。其中一个要求是Shop PC会生成一个交易文件(我有一个生成文件的按钮),并且该文本文件需要发送到总部服务器。我在HQ服务器上创建了一个具有777权限的文件夹。我试图简单地使用PHP的复制函数将文件发送/上载到该文件夹,但这不起作用。任何线索我如何做到这一点?我没有在亚马逊上安装ftp,因此无法按照要求来执行此操作。使用PHP上传文件到777文件夹使用PHP
此外,由于店员无法访问HQ服务器页面,因此我无法在HQ admim上创建上载表单(多部分表单)以上载文件。
在文件需要上传的文件夹的地址是:
"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>");
}
编辑之后的讨论后:
HQ的服务器有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
也许在某种程度上可以直接送到这里的交易文件进行解析和更新,而不将其存储在上传文件夹?
该文件根本不会被传输。 看到以前的评论我想我不能使用复制,因为我试图将文件从本地服务器复制到远程服务器。另外,如果我创建一个表单,那么上传将需要手动完成? – Saurabh
是的,但是如何访问HQserver上的文件? – Ogelami
事务文件将被解析使用在PHP编写的解析器,然后细节将被用来更新该商店的数据库 – Saurabh