2014-11-19 4 views
0

Я работаю над проектом в php и пытаюсь загрузить файл excel на сервер, но он терпит неудачу каждый раз. Мои файлы кода ниже: все модули функций работают правильно в файле newupload.php, приведенном ниже, но функция move_uploaded_file не работает, и файл не перемещается в пункт назначения. Пожалуйста, проверьте мой код и помощь, пожалуйста,excel file uploading in php

//this is first page 
    //index.php 

     <!DOCTYPE html> 
     <html> 
     <body> 

     <form action="newupload.php" method="post" enctype="multipart/form-data"> 
      Select image to upload: 
      <input type="file" name="fileToUpload" id="fileToUpload"> 
      <input type="submit" value="Upload Image" name="submit"> 
     </form> 

     </body> 
     </html> 

    //second page 
    //newupload.php 

    <?php 
    $target_dir = "uploads/"; 
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);//destination 
    $uploadOk = 1; 
    $FileType = pathinfo($target_file,PATHINFO_EXTENSION);//returns extension of file 
    // Check if image file is a actual image or fake image 
    if(isset($_POST["submit"])) { 
     $check = filesize($_FILES["fileToUpload"]["tmp_name"]); 
     } 
    // Check if file already exists 
    if (file_exists($target_file)) { 
     echo "Sorry, file already exists."; 
     $uploadOk = 0; 
    } 
    // Check file size 
    if ($_FILES["fileToUpload"]["size"] > 500000) { 
     echo "Sorry, your file is too large."; 
     $uploadOk = 0; 
    } 
//checks whether file is excel or not 
    if($FileType != "xlsx") { 
     echo "Sorry, Excel files are allowed."; 
     $uploadOk = 0; 
    } 
    // Check if $uploadOk is set to 0 by an error 
    if ($uploadOk == 0) { 
     echo "Sorry, your file was not uploaded."; 
    // if everything is ok, try to upload file 
    } else { 
     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
      echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
     } else { 
      echo "Sorry, there was an error uploading your file.";// this error arising in my program 
     } 
    } 
    ?> 

// Пожалуйста, помогите мне, спасибо заранее

+0

Пожалуйста, попробуйте напечатать полный путь назначения. – Pupil

+0

Также попробуйте предоставить разрешения на загрузку папки. – Pupil

+0

UPDATE: @Programming Student Я только что проверил, что эта программа работает правильно для файлов небольшого размера и не работает для больших файлов. Файл, который я хочу загрузить, составляет около 8 МБ, поэтому он не работает и мелкие файлы всего 5 КБ или загружают их успешно. Хотя я установил ограничение размера в index.php Пожалуйста, помогите –

ответ

0

Вы можете использовать PHPExcel Class http://blog.mayflower.de/561-Import-and-export-data-using-PHPExcel.html

Код

require_once 'PHPExcel/IOFactory.php'; 
$objPHPExcel = PHPExcel_IOFactory::load("MyExcel.xlsx"); 
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { 
    $worksheetTitle  = $worksheet->getTitle(); 
    $highestRow   = $worksheet->getHighestRow(); // e.g. 10 
    $highestColumn  = $worksheet->getHighestColumn(); // e.g 'F' 
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 
    $nrColumns = ord($highestColumn) - 64; 
    echo "<br>The worksheet ".$worksheetTitle." has "; 
    echo $nrColumns . ' columns (A-' . $highestColumn . ') '; 
    echo ' and ' . $highestRow . ' row.'; 
    echo '<br>Data: <table border="1"><tr>'; 
    for ($row = 1; $row <= $highestRow; ++ $row) { 
     echo '<tr>'; 
     for ($col = 0; $col < $highestColumnIndex; ++ $col) { 
      $cell = $worksheet->getCellByColumnAndRow($col, $row); 
      $val = $cell->getValue(); 
      $dataType = PHPExcel_Cell_DataType::dataTypeForValue($val); 
      echo '<td>' . $val . '<br>(Typ ' . $dataType . ')</td>'; 
     } 
     echo '</tr>'; 
    } 
    echo '</table>'; 
}