我网站的文件夹结构如下:www.mysite.it/site/scripts。
在此路径中有两个文件:import.php和tabella.csv。
tabella.csv是一个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
import.php是执行te import的PHP脚本,它是这样的文件:
<?php
$csvFile = "../scripts/tabella.csv";
$db = @mysql_connect('****', '****', '****');
@mysql_select_db('******');
$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' 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);
?>
错误是“找不到文件”:我尝试使用'tabella.csv'和realpath(使用realpath PHP函数),但错误始终相同。哪个是我必须分配给$ csvFile变量的正确字符串?你能帮帮我吗?
答案 0 :(得分:0)
您应该提供csv文件的绝对路径,例如
$csvFile = "/var/www/htdocs/site/scripts/tabella.csv"
因为mysql无法解析相对于apache httpdoc-root目录的路径。另请参阅Mysql-Doc:
如果指定了LOCAL,则客户端程序将读取该文件 客户端主机并发送到服务器。该文件可以作为完整文件提供 路径名称以指定其确切位置。如果作为相对路径给出 name,该名称被解释为相对于其中的目录 客户端程序已启动。