說我有一個表objects
:上傳文本文件來分析多個模型數據
CREATE TABLE objects (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
someinfo VARCHAR(255),
);
而且像這樣的文本文件:
name,someinfo
"firstname","firstinfo"
"secondname","secondinfo"
...
如何上傳這個文本文件中的CakePHP處理數據並創建對象?處理不是問題,我已經覆蓋了。但我不知道如何上傳文件。
注意:這些文件的大小最多可達300MB。
編輯
我試着使用LOAD DATA INFILE
作爲dogmatic69建議,使用此代碼:
$filefullname = $this->request->data['File']['file']['tmp_name'];
debug($filefullname);
$query = 'LOAD DATA LOW_PRIORITY INFILE "'.$filefullname.'" INTO TABLE agencies FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\r" IGNORE 1 LINES';
$this->Agency->query($query);
不過,我得到以下輸出:
'C:\Windows\Temp\phpB413.tmp'
Error: SQLSTATE[HY000]: General error: 29 File 'C:\ProgramData\MySQL\MySQL Server 5.5\data\WindowsTempphpB413.tmp' not found (Errcode: 2)
SQL Query: LOAD DATA LOW_PRIORITY INFILE "C:\Windows\Temp\phpB413.tmp" INTO TABLE agencies FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\r" IGNORE 1 LINES
使用cakephp上傳文件的選項與使用php相同 - 您提交表單,使用applet或(例如)ftp文件到服務器。即如果你知道如何上傳一個文件與PHP - 你知道如何上傳一個文件與cakephp – AD7six