Prikazi cijelu temu 04.04.2018 14:36
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: otvaranje datoteke sa č,ž,Å¡ slovima
dobro zxz, probat cu i sa time.

evo sada pojednostavljeno sve, radi.

index.html

PreuzmiIzvorni kôd (HTML):
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  <head>
  4.   <meta charset="windows-1250">
  5.   <title>Upload csv datoteke</title>
  6.  </head>
  7.  <body>
  8.   <form class="well" action="upload.php" accept-charset="Windows-1250" method="post" enctype="multipart/form-data">
  9.    <label for="file">Izaberi datoteku:</label>
  10.    <input type="file" name="uploadFile" id="uploadFile" value="" />
  11.    <p class="help-block">Prihvaca se samo csv datozeka, max. velicine 1 MB.</p>
  12.    <input type="submit" class="btn" name="submitBtn" id="submitBtn" value="Upload" />
  13.   </form>
  14.  </body>
  15. </html>

upload.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2. echo "<META http-equiv='Content-Type' content='text/html; charset=UTF-8'>";
  3.  
  4. //moguce greske
  5. ini_set('display_errors', 1);
  6. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  7.         $name     = $_FILES['uploadFile']['name'];
  8.         $tmpName  = $_FILES['uploadFile']['tmp_name'];
  9.         $error    = $_FILES['uploadFile']['error'];
  10.         $size     = $_FILES['uploadFile']['size'];
  11.         $ext      = strtolower(pathinfo($name, PATHINFO_EXTENSION));
  12.    
  13.     switch ($error) {
  14.                 case UPLOAD_ERR_OK:
  15.                         $valid = true;
  16.                         //validate file extensions
  17.                         if ( !in_array($ext, array('csv')) ) {
  18.                                 $valid = false;
  19.                                 $response = 'Nedozvoljen tip datoteke.';
  20.                                 echo $response;
  21.                                 exit;
  22.                                
  23.                         }
  24.                         //validate file size
  25.                         if ( $size/1024/1024 > 2 ) {
  26.                                 $valid = false;
  27.                                 $response = 'File size is exceeding maximum allowed size.';
  28.                         }
  29.                         //upload file
  30.                         if ($valid) {
  31.                         //      $targetPath =  dirname( __FILE__ ) . DIRECTORY_SEPARATOR. 'uploads' . DIRECTORY_SEPARATOR. $name;
  32.                         //      move_uploaded_file($tmpName,$targetPath);
  33.                         //      header( 'Location: index.php' ) ;
  34.                         //      exit;
  35.                                 $response = 'Datoteka je ucitana.';
  36.                                
  37.                         }
  38.                         break;
  39.                 case UPLOAD_ERR_INI_SIZE:
  40.                         $response = 'Velicina datoteke je veca od dozvoljene.';
  41.                         break;
  42.                 case UPLOAD_ERR_PARTIAL:
  43.                         $response = 'The uploaded file was only partially uploaded.';
  44.                         break;
  45.                 case UPLOAD_ERR_NO_FILE:
  46.                         $response = 'Datoteka nije ucitana.';
  47.                         break;
  48.                 case UPLOAD_ERR_NO_TMP_DIR:
  49.                         $response = 'Nedostaje TMP folder. Introduced in PHP 4.3.10 and PHP 5.0.3.';
  50.                         break;
  51.                 default:
  52.                         $response = 'Nepoznata greska';
  53.                 break;
  54.         }
  55.  
  56.         echo $response."<br>";
  57.         echo "informacije o datoteci:";
  58.     echo "<li>ime: ".$name."</li>";
  59.         echo "<li>tmpName: ".$tmpName."</li>";
  60.         echo "<li>greska: ".$error."</li>";
  61.         echo "<li>velicina: ".$size."</li>";
  62.         echo "<li>nastavak: ".$ext."</li>";
  63. }
  64.  
  65. //stavljamo cijelu datoteku u matricu
  66. $csv = array();
  67. $file = fopen($_FILES['uploadFile']['tmp_name'], 'r');
  68. while (($result = fgetcsv($file)) !== false){
  69.     $csv[] = $result;
  70. }
  71. fclose($file);
  72.  
  73. $ukupnoRedova=count($csv);
  74. $ukupnoKolona= max( array_map( 'count',  $csv ) );
  75.  
  76. echo "<br>CSV datoteka je ucitana u matricu<br>";
  77. echo "<li>ukupno redova: ".$ukupnoRedova."</li>";
  78. echo "<li>max. kolona: ".$ukupnoKolona."</li>";
  79.  
  80. echo "<br>Ispis matrice u tabeli";
  81. echo '<tbody><table border="1">';
  82. for ($row = 1; $row < $ukupnoRedova; $row++) {
  83.        
  84.         echo "<tr>";
  85.         for ($col = 0; $col < $ukupnoKolona; $col++) {
  86.                 //ako celija nema vrijednost onda upisemo null da ne pise  Undefined offset:
  87.                 if ( ! isset($csv[$row][$col])) {
  88.                         $csv[$row][$col] = null;
  89.                 }
  90.         echo "<td>".$csv[$row][$col]."</td>";
  91.         }
  92.         echo "</tr>";
  93. }
  94. echo '</table></tbody>';
  95.  
  96. ini_set('auto_detect_line_endings',FALSE);
  97. ?>


kako to izgleda kod mene:

zivot je moja domovina.
Ovaj post je ureden 4 puta. Posljednja izmjena 04.04.2018 14:50 od strane Avko.