我在google或这里找不到有关我的问题的任何有用信息。
目前,我正在使用cronjob将URL文件从URL存储到我的服务器,每小时使用file_get_contents();
一次。
现在,每当用户加载页面时,都会执行几个步骤,但是从那里开始都是PHP和Javascript,因此加载带有最终结果(html表)的页面大约需要9秒,如here所述
我想通过将存储在我服务器上的CSV文件导入SQL数据库来改变它,但我不知道如何实现这一点。尝试使用PHP将其转换为数组,然后将其存储到像here这样的数据库,但它对我不起作用。你会如何处理这个问题?
谢谢,Innerwolf。
文件如下:
用户名,得分,numWins,numKills,numKillsWallshot,numDeaths,numShots,highestSpree,timePlayed
/ \ SSA,14104,26,2113,0,867,28083,15,43695
“∀ЈAIIX”,10166,18,2641,0,1291,34201,14,59346
我尝试了这个新的cron
<?php
function download_remote_file($file_url, $save_to)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
}
download_remote_file(//link', realpath(".//path") . '/dump.csv');
if(!function_exists('str_getcsv')) { ------|
//define str_getcsv |until now, cron
} |job executes
} |part above.
$url = '//path/dump.csv'; |
$csvData = file_get_contents($url); |this part was in
$lines = explode(PHP_EOL, $csvData); |index.htm before
$array = array(); |and gets exe-
foreach ($lines as $line) { |cuted when
$line = str_replace("\\", "\", $line); |reload
$line = str_replace("#", "#", $line); |
$array[] = str_getcsv($line); |
} ------|
$fields = implode(', ', array_shift($array));
$values = array();
foreach ($array as $rowValues) {
foreach ($rowValues as $key => $rowValue) {
$rowValues[$key] = mysql_real_escape_string($rowValues[$key]);
}
$values[] = "(" . implode(', ', $rowValues) . ")";
}
//mySQL connection values
// Create connection
$conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $mysql_database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$query = "INSERT INTO ranking ($fields) VALUES " . implode (', ', $values);
if ($conn->query($query) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $query . "<br>" . $conn->error;
}
$conn->close();
?>