在我的网站db的表格中导入CSV文件时,我遇到了一个很大的问题。 使用Filezilla,我的网站的文件夹结构如下: www.mysite.it/mysite/scripts。在此文件夹(脚本)中,有要在db中导入的csv文件和用于执行导入的PHP脚本。
CSV文件(权限设置为777)是tabella.csv,它是这样的文件:
"2016-09-02", "100.01", "4005.09", "5000", "1.09", "120.09", "100.5", "200.77"
"2016-09-03", "150.01", "4205.09", "5600", "1.10", "150.09", "300.5", "300.77"
PHP脚本如下:
<?php
$csvFile = "../scripts/tabella.csv";
$realPath = realpath($csvFile);
$db = @mysql_connect('**.***.***.***', 'Sql******', '*******');
@mysql_select_db('Sql******_*');
$query = 'LOAD DATA LOCAL INFILE \' '. $realPath .' \' INTO TABLE rame
FIELDS TERMINATED BY \',\'
LINES TERMINATED BY \'\r\n\'
IGNORE 1 LINES
(
giorno,
lmedollton,
changedolleuro,
euroton,
lmesterton,
delnotiz,
girm,
sgm
)';
if(!mysql_query($query)){
die(mysql_error());
}
mysql_close($db);
?>
错误是'找不到文件'。我尝试使用绝对路径,单个文件,相对路径..我尝试从查询中删除'LOCAL'..我写到Aruba服务认为这是一个权限文件问题,但他们告诉我在查询中使用'LOCAL' ..进入Aruba Panel Control,在PhpMyAdmin中,菜单中没有'Privileges'项,所以我无法设置它们。有人想知道我的问题吗?文件路径?权限?
答案 0 :(得分:0)
在
$realPath = realpath($csvFile);
制作
var_dump($realPath)
看看你有什么路径。然后尝试了解文件是否正确加载。如果php
和csv
位于相同的文件夹(脚本)中,那么您的路径就错了。
$csvFile = "../scripts/tabella.csv";
这告诉php要读取文件夹,再次重新输入脚本并找到csv
。 var_dump
会告诉您它是否正确。