Curs Php-mysql

O functie PHP ce poate fi utilizata pentru a uni liniile din mai multe fisiere, in ordine una dupa alta. Functia (denumita mergeLineFiles() ) returneaza un array cu liniile fisierelor unite; de exemplu, un array ca acesta:
array (
  0 => 'linia_1 din fisier1',
  1 => 'linia_1 din fisier2',
  2 => 'linia_1 din fisier3',
  3 => 'linia_2 din fisier1',
  4 => 'linia_2 din fisier2',
  5 => 'linia_2 din fisier3',
  6 => 'linia_3 din fisier1',
  7 => 'linia_3 din fisier2',
  8 => 'linia_3 din fisier3',
  // si tot asa ...
);
- Cu implode(), si file_put_contents(), liniile pot fi salvate in alt fisier.

Functia mergeLineFiles() primeste 2 argumente: un array cu numele /adresa fisierelor, si numarul de linii care sa fie unite din fiecare fisier. Al doilea argument e optional, daca nu e adaugat (sau e cu valoare 0), functia va uni toate liniile.

Codul functiei mergeLineFiles()

/*
 Unire Linii din mai multe Fisiere, una dupa alta
 De la: https://marplo.net/php-mysql/
 - $files = array cu numele /adresa fisierelor
 - $maxlines = numarul maxim de linii care sa fie unite din fiecare fisier (0 adauga toate liniile)

 Returneaza un array cu liniile unite
*/
function mergeLineFiles($files, $maxlines = 0) {
  $final_lines = array();         // retine liniile unite

  // preia in array-uri liniile fiecarui fisier
  $filesdata = array();
  $nrfiles = count($files);
  $arr_nr_lines = array();         // pt numarul de linii din fiecare fisier
  for($i=0; $i<$nrfiles; $i++) {
    if(file_exists($files[$i])) {
      $filesdata[] = file($files[$i], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
      $arr_nr_lines[] = count(end($filesdata));
    }
  }

  $nrfiles = count($filesdata);        // numarul de array-uri cu linii
  if($nrfiles > 0) {
    $lines = ($maxlines == 0) ? max($arr_nr_lines) : $maxlines;
    for($i=0; $i<$lines; $i++) {
      // parcurge array-urile cu liniile fisierelor
      // adauga in $final_lines prima linie si o sterge
      for($i2=0; $i2<$nrfiles; $i2++) {
        if(isset($filesdata[$i2][0])) $final_lines[] = array_shift($filesdata[$i2]);
      }
    }
  }

  return $final_lines;
}
- Exemplu utilizare, uneste liniile din 3 fisiere si le adauga in alt fisier. Cu functia mergeLineFiles() obtine array-ul cu liniile unite, apoi le salveaza pe server cu file_put_contents():
<?php
/*
 Unire Linii din mai multe Fisiere, una dupa alta
 De la: https://marplo.net/php-mysql/
 - $files = array cu numele /adresa fisierelor
 - $maxlines = numarul maxim de linii care sa fie unite din fiecare fisier (0 adauga toate liniile)

 Returneaza un array cu liniile unite
*/
function mergeLineFiles($files, $maxlines = 0) {
  $final_lines = array();         // retine liniile unite

  // preia in array-uri liniile fiecarui fisier
  $filesdata = array();
  $nrfiles = count($files);
  $arr_nr_lines = array();         // pt numarul de linii din fiecare fisier
  for($i=0; $i<$nrfiles; $i++) {
    if(file_exists($files[$i])) {
      $filesdata[] = file($files[$i], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
      $arr_nr_lines[] = count(end($filesdata));
    }
  }

  $nrfiles = count($filesdata);        // numarul de array-uri cu linii
  if($nrfiles > 0) {
    $lines = ($maxlines == 0) ? max($arr_nr_lines) : $maxlines;
    for($i=0; $i<$lines; $i++) {
      // parcurge array-urile cu liniile fisierelor
      // adauga in $final_lines prima linie si o sterge
      for($i2=0; $i2<$nrfiles; $i2++) {
        if(isset($filesdata[$i2][0])) $final_lines[] = array_shift($filesdata[$i2]);
      }
    }
  }

  return $final_lines;
}

  /* Utilizare mergeLineFiles() */

$files = array('file1.txt', 'file2.txt', 'file3.txt');      // array cu fisiere
$final_file = 'somefile.txt';           // fisierul in care vor fi salvate liniile unite

// apeleaza mergeLineFiles() si retine array-ul cu toate liniile
$final_lines = mergeLineFiles($files);

// Sau, uneste doar primele 4 linii din fiecare fisier
// $final_lines = mergeLineFiles($files, 4);

// salveaza liniile unite in $final_file
if(file_put_contents($final_file, implode(PHP_EOL, $final_lines))) echo 'Date salvate';
else echo 'Nu poate salva datele';
?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag HTML5 este indicat sa contina meniul cu link-uri de navigare in site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Ce proprietate CSS muta elementrul in dreapta sau stanga de la locul unde e?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Clic pe metoda obiectului Math care rotunjeste numarul x descrescator la cel mai apropiat intreg.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicati functia PHP care returneaza numarul de caractere dintr-un sir.
mb_strlen() count() stristr()
$str = "sir cu caractere utf-8 åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 29
Clic pe raspunsul potrivit la intrebarea: "When it happened?".
On the 7th of July 1996 It is a quarter to 5. Nice weather.
When it happened? On the 8th of August 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Indicati raspunsul potrivit la intrebarea: "¿Cuando sucedió?".
Hace buen tiempo. En el 8 de Agosto de 2001 Son las tres menos cuarto.
¿Cuando sucedió? En el 8 de Agosto de 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Unire Linii din mai multe Fisiere, una dupa alta

Last accessed pages

  1. Prezentul continuu - Exercitii si teste incepatori (18681)
  2. Constante si tipuri de variabile (2851)
  3. Articolul din limba engleza - The article (40860)
  4. Prezentul simplu si continuu - Present Tense Simple and Continuous (88304)
  5. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (147112)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2728)
  2. Curs HTML gratuit Tutoriale HTML5 (2180)
  3. Curs si Tutoriale JavaScript (1962)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (1934)
  5. Curs CSS Online Tutoriale CSS3 (1845)