Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Co w tym nie działa
Forum PHP.pl > Forum > Przedszkole
Dawidsu
Dlaczego ten skrypt w php nie działa:
Kod
$tresc_pliku = 'cześć! jestem plikiem!;]';
foreach(glob('Numer*.php') as $file)
{
  $numbers[] = preg_replace('Numer([0-9]).php','\1',$file);
}

$nextFile = fopen('Numer'.max($numbers) + 1.'.php','w+');
fputs($nextFile,$tresc_pliku);
fclose($nextFile);


Powinien tworzyć plik... np. "Numer5.php", gdy w katalogu mam pliki "Numer1.php", "Numer2.php", "Numer3.php", "Numer4.php". Po czym wpisywać do nowego pliku $tresc_pliku... chciałem tak zrobić. miałem takie pliki w katalogu, a tu tymczasem utworzyło tylko plik "1.php".... jak uruchomiłem ten skrypt jeszcze raz, to nie utworzył się plik "2.php" - coby było trochę logiczne.... tylko jeszce raz plik "1.php" :/

Co jest źle?questionmark.gifquestionmark.gif
nospor
Po pierwsze(mała poprawka, ale powodowalo ze skrypt nie dzialal):
  1. <?php
  2.  
  3. $nextFile = fopen('Numer'.(max($numbers) + 1).'.php','w+');
  4.  
  5. ?>


Po drugie:
Twoja odczytanie nuemru pliku źle ci działa. Testowałem u siebie i nie wykrywalo to numerków.Napisalem własne nie oparte na wyrazeniacgh regularnych:
  1. <?php
  2.  
  3. $numbers[] = substr($file,5,strlen($file)-5-4);
  4.  
  5. ?>


CaŁy kod:
  1. <?php
  2.  
  3. $tresc_pliku = 'cześć! jestem plikiem!;]';
  4. foreach(glob('Numer*.php') as $file)
  5.  $numbers[] = substr($file,5,strlen($file)-5-4);
  6. $nextFile = fopen('Numer'.(max($numbers) + 1).'.php','w+');
  7. fputs($nextFile,$tresc_pliku);
  8. fclose($nextFile);
  9.  
  10.  
  11. ?>
Dawidsu
Wielkie dzięki! Teraz działa!!! thumbsupsmileyanim.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.