Centar za edukaciju-BiH



#1 03.04.2018 12:13
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:upload file, stavi u array, ispisi u tabelu sa č,ž,Å¡ slovima
index.html

PreuzmiIzvorni kôd (HTML):
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <title>PHP File Uploader</title>
  7.  
  8.     <!-- Bootstrap core CSS -->
  9.     <link href="boostrap/css/bootstrap.min.css" rel="stylesheet">
  10.    
  11.   </head>
  12.  
  13.   <body>
  14.  
  15.     <!-- Static navbar -->
  16.     <div class="navbar navbar-default navbar-static-top">
  17.       <div class="container">
  18.         <div class="navbar-header">
  19.           <a class="navbar-brand" href="index.php">PHP File Uploader</a>
  20.         </div>
  21.       </div>
  22.     </div>
  23.  
  24.  
  25.     <div class="container">
  26.  
  27.           <div class="row">
  28.             <div class="col-lg-12">
  29.                <form class="well" action="upload.php" accept-charset="utf-8" method="post" enctype="multipart/form-data">
  30.                   <div class="form-group">
  31.                     <label for="file">Izaberi datoteku</label>
  32.                     <input type="file" name="uploadFile" id="uploadFile" value="" />
  33.                     <p class="help-block">Prihvaca se samo csv datozeka, max. velicine 1 MB.</p>
  34.                   </div>
  35.                   <input type="submit" class="btn btn-lg btn-primary" name="submitBtn" id="submitBtn" value="Upload" />
  36.                 </form>
  37.             </div>
  38.           </div>
  39.     </div> <!-- /container -->
  40.  
  41.   </body>
  42. </html>

upload.php

PreuzmiIzvorni kôd (PHP):
  1. <?php
  2.  
  3. //provjera greske
  4. ini_set('display_errors', 1);
  5.  
  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.     echo "<br>";
  14.         echo "ime: ".$name."<br>";
  15.         echo "tmpName: ".$tmpName."<br>";
  16.         echo "greska: ".$error."<br>";
  17.         echo "velicina: ".$size."<br>";
  18.         echo "nastavak: ".$ext."<br>";
  19.    
  20.     switch ($error) {
  21.                 case UPLOAD_ERR_OK:
  22.                         $valid = true;
  23.                         //validate file extensions
  24.                         if ( !in_array($ext, array('csv')) ) {
  25.                                 $valid = false;
  26.                                 $response = 'Nedozvoljen tip datoteke.';
  27.                                 echo $response;
  28.                                 exit;
  29.                                
  30.                         }
  31.                         //validate file size
  32.                         if ( $size/1024/1024 > 2 ) {
  33.                                 $valid = false;
  34.                                 $response = 'Velicina datoteke premasuje dozvoljenu velicinu.';
  35.                         }
  36.                         //upload file
  37.                         if ($valid) {
  38.                         //      $targetPath =  dirname( __FILE__ ) . DIRECTORY_SEPARATOR. 'uploads' . DIRECTORY_SEPARATOR. $name;
  39.                         //      move_uploaded_file($tmpName,$targetPath);
  40.                         //      header( 'Location: index.php' ) ;
  41.                         //      exit;
  42.                                 $response = 'Datoteka ispravna.';
  43.                         }
  44.                         break;
  45.                 case UPLOAD_ERR_INI_SIZE:
  46.                         $response = 'The uploaded file exceeds the upload_max_filesize directive in php.ini.';
  47.                         break;
  48.                 case UPLOAD_ERR_PARTIAL:
  49.                         $response = 'The uploaded file was only partially uploaded.';
  50.                         break;
  51.                 case UPLOAD_ERR_NO_FILE:
  52.                         $response = 'No file was uploaded.';
  53.                         break;
  54.                 case UPLOAD_ERR_NO_TMP_DIR:
  55.                         $response = 'Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.';
  56.                         break;
  57.                 case UPLOAD_ERR_CANT_WRITE:
  58.                         $response = 'Failed to write file to disk. Introduced in PHP 5.1.0.';
  59.                         break;
  60.                 default:
  61.                         $response = 'Unknown error';
  62.                 break;
  63.         }
  64.  
  65.         echo $response;
  66. }
  67.  
  68. //
  69. ,ž,š slova
  70. $row = 1;
  71. if (fopen($_FILES['uploadFile']['tmp_name'], "r")) {
  72.        
  73.         $handle=fopen($_FILES['uploadFile']['tmp_name'], "r");
  74.        
  75.         //pokazi vrstu utf-a
  76.         $encoding = mb_detect_encoding($tmpName , 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');
  77.         echo "<br>"."Vrsta utf-a:".$encoding;
  78.        
  79.         $output = '<table border="1">';
  80.     while( ($data = fgetcsv( $handle )) !== false ){
  81.            
  82.         $output .= '<tr>';
  83.         foreach( $data as $value )
  84.         {
  85.             $output .= sprintf( '<td>%s</td>', $value );
  86.         }
  87.         $output .= '</tr>';
  88.     }
  89.     fclose( $handle );
  90.     $output .= '</table>';
  91. }
  92. echo $output;
  93. ?>

ucitam csv datoteku ali mi u tabli ne pokazuje slova č,ž,Å¡

Dali ste imali vi taj problem i kako ste ga rijesili?

Prilozi:
Informacije o tipu datoteke za:rar  proba.rar
Preuzimanja:363
Velicina datoteke:160 Bajt


zivot je moja domovina.
Ovaj post je ureden 2 puta. Posljednja izmjena 04.04.2018 13:53 od strane Avko. ↑  ↓

#2 03.04.2018 14:27
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: otvaranje datoteke sa č,ž,Å¡ slovima
Ne znam u php ali imao sam par problema sa znakova u ceskoj ja sam to resio tako sta sam napravio tabeli koi imaju kodna strana latin2 i tako sad vec nemam problema sa ceski znakova.
↑  ↓

#3 04.04.2018 09:40
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:Re: otvaranje datoteke sa č,ž,Å¡ slovima
Nasao gresku.

Znaci, nije uopce trebalo dekodirati i kodirati i sta ti ja znam. Trebalo je samo staviti na pocetku datoteke upload.php ovo:

echo "<META http-equiv='Content-Type' content='text/html; charset=UTF-8'>";

sada vidim nasa slova normalno u tabeli.
zivot je moja domovina.
↑  ↓

#4 04.04.2018 09:45
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: otvaranje datoteke sa č,ž,Å¡ slovima
Stavi probaj ovako:
form class="well" action="upload.php" accept-charset="Windows-1250" method="post" enctype="multipart/form-data">

Ja obicno to stavim na pocetku htmla.
<head>
<meta charset="Windows-1250"/>
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 04.04.2018 09:49
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: otvaranje datoteke sa č,ž,Å¡ slovima
PreuzmiIzvorni kôd (HTML):
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.   <head>
  4.     <meta charset="windows-1250">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <title>PHP File Uploader</title>
  7.  
  8.     <!-- Bootstrap core CSS -->
  9.     <link href="boostrap/css/bootstrap.min.css" rel="stylesheet">
  10.  
  11.   </head>
  12.  
  13.   <body>
  14.  
  15.     <!-- Static navbar -->
  16.     <div class="navbar navbar-default navbar-static-top">
  17.       <div class="container">
  18.         <div class="navbar-header">
  19.           <a class="navbar-brand" href="index.php">PHP File Uploader</a>
  20.         </div>
  21.       </div>
  22.     </div>
  23.  
  24.  
  25.     <div class="container">
  26.  
  27.           <div class="row">
  28.             <div class="col-lg-12">
  29.                <form class="well" action="upload.php" accept-charset="windows-1250" method="post" enctype="multipart/form-data">
  30.                   <div class="form-group">
  31.                     <label for="file">Izaberi Å¡
  32. žždatoteku</label>
  33.                     <input type="file" name="uploadFile" id="uploadFile" value="" />
  34.                     <p class="help-block">Prihvaca se samo csv datozeka, max. velicine 1 MB.</p>
  35.                   </div>
  36.                   <input type="submit" class="btn btn-lg btn-primary" name="submitBtn" id="submitBtn" value="Upload" />
  37.                 </form>
  38.             </div>
  39.           </div>
  40.     </div> <!-- /container -->
  41.  
  42.   </body>
  43. </html>

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 04.04.2018 13:36
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


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 13:50 od strane Avko. ↑  ↓

#7 04.04.2018 19:05
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: upload file, stavi u array, ispisi u tabelu sa č,ž,Å¡ slovima
netreba ti ovo.
Znas li kako izgleda tvoja html stranica.

Citat:
<?php
echo "<META http-equiv='Content-Type' content='text/html; charset=UTF-8'>";

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#8 04.04.2018 19:37
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:Re: upload file, stavi u array, ispisi u tabelu sa č,ž,Å¡ slovima
ako to ne stavi ne napise mi č šž. to je php. datoteka
zivot je moja domovina.
↑  ↓

#9 08.04.2018 22:10
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: upload file, stavi u array, ispisi u tabelu sa č,ž,Å¡ slovima
Da ali sto to saljes iz php kada mozes staviti u html.
Ako hoces mozemo pokrenuti temu kako napraviti cms.
Sve sto je staticko treba se nalaziti u html.
html moze biti i iz vise diojelova.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 09.04.2018 08:43
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,691


Predmet:Re: upload file, stavi u array, ispisi u tabelu sa č,ž,Å¡ slovima
Citiraj zxz:
Da ali sto to saljes iz php kada mozes staviti u html.
Ako hoces mozemo pokrenuti temu kako napraviti cms.
Sve sto je staticko treba se nalaziti u html.
html moze biti i iz vise diojelova.

Nista te nisam razumio, sta je to cms?

-Å¡aljem csv file
-stavljam ga u array
-ispisujem u tabli

a onda sam mislio poslati taj array u bazu
zivot je moja domovina.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 8: 05 am.