私はスーパーマーケットシステムを含む学校のプロジェクトに取り組んでおり、Shop PC(localhost)とHQサーバー(Amazon EC2でホストされている)を持っています。要件の1つは、Shop PCがトランザクションファイルを生成し(ファイルを生成するボタンがあります)、そのテキストファイルをHQサーバーに送信する必要があることです。HQサーバー上に777のアクセス許可を持つフォルダーを作成しました。PHPのコピー機能を使用して、ファイルをそのフォルダーに送信/アップロードしようとしましたが、機能しません。どうすればそれができるかについての手がかりはありますか?私はAmazonにftpをインストールしておらず、要件に従ってそれを行うことができません。
また、ショップの人が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で作成されており、HQサーバーに送信したいのですが、そこで解析してHQデータベースに追加できます。HQサーバーのuploadsフォルダーにファイルを送信するには、上記のコードに従ってください。
$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
おそらく、アップロードフォルダに保存せずに、解析と更新のためにトランザクションファイルをここに直接送信することは可能ですか?