2013-10-08 17 views
0

試圖允許用戶從他們的計算機中選擇瀏覽的Excel文件。把那個excel文件解析出來,然後把數據寫入數據庫。我無法使解析工作。我知道我需要使用...PHP解析用戶上傳的Excel文件到MySQL數據庫中

<form enctype="multipart/form-data" action="uploader.php" method="POST"> 
Choose a file to upload: <input name="uploadedfile" type="file" id="uploadedfile" /> <br /> 
<input type="submit" value="Upload File" /> 

,我唯一的問題是,當我使用$ _FILES [「UploadedFile的」] [「名稱」]只給我的文件名,而不是該文件的目錄,所以我怎樣才能將它傳遞給PHPExcel Reader。這不僅僅是一個文件名的字符串,實際上並不是一個文件路徑?

繼承人什麼,我有我的uploader.php:

<?php 

include ('/PHPExcel/Classes/PHPExcel/IOFactory.php'); 



$filename = $_FILES["uploadedfile"]['name']; 
echo $filename; 

$inputFileType = PHPExcel_IOFactory::identify($filename); 
$objReader = PHPExcel_IOFactory::createReader($inputFileType); 
$objPHPExcel = $objReader -> load($filename); 



$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn(); 
$data = array(); 

// Loop through each row of the worksheet in turn 
for ($row = 1; $row <= $highestRow; $row++){ 
    // Read a row of data into an array 
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, 
            NULL, 
            TRUE, 
            FALSE); 
    $data[] = $rowdata; 
    // Insert row data array into your database of choice here 
} 

foreach ($data as $param){ 
    echo $param; 
} 

?> 
+1

要麼使用move_uploaded_file()解析文件__after__,要知道你是哪個目錄把它放進去;或檢查你的臨時目錄的ini設置 –

+0

沒問題,所以一旦我得到文件名我需要將它移動到一個文件位置,然後我可以解析它? – shreddish

回答

0

你需要的臨時名稱,無論是讀它或將其移動到一個地方你選擇的:

print_r($_FILES); 
0

點直接將路徑傳遞給IOFactory:

$filename = $_FILES["uploadedfile"]['name']; 
$fullFilename = PROJECT_DIR . 'upload/' . $filename; 

$inputFileType = PHPExcel_IOFactory::identify($fullFilename); 
$objReader = PHPExcel_IOFactory::createReader($inputFileType); 
$objPHPExcel = $objReader -> load($fullFilename); 
相關問題