在MySql中导入CSV文件期间使用的正确路径

时间:2016-10-07 07:55:04

标签: mysql csv import hosting aruba

在我的网站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'项,所以我无法设置它们。有人想知道我的问题吗?文件路径?权限?

1 个答案:

答案 0 :(得分:0)

$realPath = realpath($csvFile);

制作

var_dump($realPath)

看看你有什么路径。然后尝试了解文件是否正确加载。如果phpcsv位于相同的文件夹(脚本)中,那么您的路径就错了。

$csvFile = "../scripts/tabella.csv";

这告诉php要读取文件夹,再次重新输入脚本并找到csvvar_dump会告诉您它是否正确。