0

在我的站点数据库表中导入 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);

?>   

错误是“找不到文件”。我尝试使用绝对路径、单个文件、相对路径。我尝试从查询中删除“本地”。我写信给 Aruba 服务,认为这是权限文件问题,但他们告诉我在查询中使用“本地” .. 进入 Aruba 面板控制,在 PhpMyAdmin 中菜单中没有“权限”项,所以我无法设置它们.. 有人知道我的问题吗?文件路径?权限?

4

1 回答 1

0

$realPath = realpath($csvFile);

做一个

var_dump($realPath)

看看你有什么路径。然后尝试了解文件是否正确加载。如果你在同一个文件夹(脚本)中phpcsv那么你的路径是错误的。

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

这告诉 php 读取一个文件夹,再次重新输入脚本并找到csv. 会var_dump告诉你它是否正确。

于 2016-10-07T09:15:18.377 回答