2015-04-30 14 views
0

此代码路径工作正常,我在本地主机不能得到的“无功/ lib中/ MySQL的/ STAT(ERRCODE:2)

$sql = "LOAD DATA INFILE 'C://xampp/htdocs/xampp/www/tool/"[email protected]_escape_string($this->file_name). 
     "' INTO TABLE `".$this->table_name. 
     "` FIELDS TERMINATED BY '"[email protected]_escape_string($this->field_separate_char). 
     "' OPTIONALLY ENCLOSED BY '"[email protected]_escape_string($this->field_enclose_char). 
     "' ESCAPED BY '"[email protected]_escape_string($this->field_escape_char). 
     "' LINES TERMINATED BY '" [email protected]_escape_string("\r\n") . "' ". 
     ($this->use_csv_header ? " IGNORE 1 LINES " : "") 
     ."(`".implode("`,`", $this->arr_csv_columns)."`)"; 

     //echo $sql; 
      mysqli_query(DB::cxn(),$sql) or die("Import Error: " . mysqli_error(DB::cxn())); 

    // Delete the file now it's been imported 
     unlink("C:/xampp/htdocs/xampp/www/tool/". $this->file_name); 

现在,当我在CentOS的服务器上运行我给路径类似

$sql = "LOAD DATA INFILE 'var/www/html/tool/"[email protected]_escape_string($this->file_name).  
    unlink("var/www/html/tool/". $this->file_name); 

Cant get stat of 'var/lib/mysql/var/www/html/tool/file.csv (Errcode:2)

现在,当我使用LOAD DATA LOCAL INFILE'var/www/html/tool它给

cant find file 'var/www/html/file.scv

我的网站的根文件夹是/var/www/html/tool和我通过xxx.xxx.xx.xx/tool

每次一个CSV文件在服务器位置/var/www/html/tool上传访问此与OWNER as apache-ApacheRead and Write

Group as apache having only Read Only permisssion

我试图像CHMOD 777 -R/var/www/html/tool,但该文件仍在apache as groupapache-Apache as Owner中上传

是我见过的其他职位呈三角这一点,并使用LOAD DATA LOCAL INFILE PLZ建议

回答

1

您使用var/www/html/tool/为路径,而不是/var/www/html/tool/,因此该路径是相对于/var/lib/mysql的mysql目录。只需在前面添加另一个斜线。

+0

那工作的人! csv上传到服务器位置,但csv文件中的第一个值不会显示在浏览器中,因为它应该是。我认为它的权限问题,因为该组的Apache只有只读权限的情况下? 谢谢无论如何干杯! – black

+0

用代码提出另一个问题,因为这是两个不同的问题。 – Robert

相关问题