этот код с путем отлично работает для меня в localhost
$sql = "LOAD DATA INFILE 'C://xampp/htdocs/xampp/www/tool/".@mysql_escape_string($this->file_name).
"' INTO TABLE `".$this->table_name.
"` FIELDS TERMINATED BY '".@mysql_escape_string($this->field_separate_char).
"' OPTIONALLY ENCLOSED BY '".@mysql_escape_string($this->field_enclose_char).
"' ESCAPED BY '".@mysql_escape_string($this->field_escape_char).
"' LINES TERMINATED BY '" .@mysql_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/".@mysql_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-Apache
имеющий Read and Write
Group as apache having only Read Only permisssion
я пробовал как chmod 777 -R / var / www / html / tool, но файл все еще загружается в apache as group
а также apache-Apache as Owner
Да я видел другой пост, похожий на этот и использовал LOAD DATA LOCAL INFILE
Плз Предложить
Ты используешь var/www/html/tool/
как путь, а не /var/www/html/tool/
, таким образом, путь относительно каталога mysql в /var/lib/mysql
, Просто добавьте еще одну косую черту спереди.
Других решений пока нет …