【发布时间】:2015-03-04 09:03:43
【问题描述】:
我正在尝试定期将 txt 文件上传到 MYSQL 数据库,因为 txt 文件内容随时间而变化。我有 2 个文件:db.php 和 uploader.php。下面是 db.php 的代码
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="uploader.php" method="post"
enctype="multipart/form-data">
<input type="file" onchange="this.form.submit()" name="file" size="50" />
<br />
</form>
</body>
</html>
还有 uploader.php 的代码
<?php
$contents = file_get_contents($_FILES['file']['tmp_name'])
or die( "Could not copy file!");
$username = "username";
$password = "password";
$hostname = "localhost";
//connection to the database
$connection=mysql_connect ($hostname, $username, $password)
or die("Unable to connect to MySQL");
//select a database to work with
$selected = mysql_select_db("test",$connection)
or die("Could not select examples");
$result2 = mysql_query("INSERT INTO testtable(data) VALUES (". $contents. ")");
mysql_close($connection);
?>
运行程序后,我必须浏览我的 txt 文件,并将被重定向到 uploader.php。然后将数据发送到我的数据库。由于数据正在定期写入我的电脑中的 txt 文件,我需要再次自动将文件上传到我的数据库,而无需再次浏览 txt 文件。问题是,我该怎么做?如果我要定期手动刷新网页,新数据将被发送到我的数据库,但当然,我不想手动刷新页面,因为它不切实际。我尝试添加<META HTTP-EQUIV="refresh" CONTENT="5">,它每 5 秒刷新一次页面,但这不起作用
我对 php 很陌生,所以如果答案简单易懂,我将不胜感激。非常感谢您的帮助。
【问题讨论】:
-
为什么不让正在写入文件的任何进程也写入数据库?通过网络表单做这种事情似乎非常错误
-
写入文本文件的内容是什么?您总是可以让它直接写入数据库。否则,除非数据库与文件托管在同一台计算机上,否则您会被我的看法所困扰。
-
@Phil 如果我弄错了,请纠正我,我用谷歌搜索了很多,似乎访问本地文件(在我的笔记本电脑 C 驱动器中)并将其发送到服务器的唯一方法是使用 web形式。
-
@MattShirley 正在写入文本文件的硬件没有 wifi 连接。
-
对于你的问题 - 使用客户端 Python 或 Java 等发送数据