Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt liczący konkretne pliki
Forum PHP.pl > Forum > Przedszkole
Krzychur
Witam!
Mam taki dylemat. Chciałbym zautoamtyzować troszkę statystyki na mojej witrynie, które dotychczas prowadzę ręcznie (możę to śmieszyć niektórych użykowników tego forum):
Cytat
¤ Informacje o serwisie:
Serwis istnieje: 665 dni
Serwis testwano na:

* Przeglądarkach: Internet Explorer, Mozilla, Opera, Konquerror, MyIE
* Systemach operacyjnych: Win 98, Win Me, Win XP, Linux Mandrake
* Rozdzielczościach ekranu: 800x600, 1024x768, 1152x864, 1280x768, 1280x960
* 1280x1024

Objętość serwisu:

* 157 artykułów w 8 kategoriach: Hardware, Hacking & Cracking, Internet, Webmastering, Osobowości, Software, Nowe technologie, Inne artykuły
* 165 lekcji w 7 kursach online: Kurs HTML, Kurs CSS, Leksykon, Kurs maszynopisania, Kurs C, Kurs ASP, Kurs C++
* 164 wersji do druku w: 157 artykułach, 7 kursach online
* 23 czcionki na: 3 stronach
* 6,14 MB w: 28 folderach, 806 plikach (bez forum)


Czy ktoś mógłby mi powiedzieć jaką linijkę postawić w poniższym skrypcie, aby liczył tylko pliki znajdujące się w folderze nazwafolderu z rozszerzeniem php3?
[php:1:35bc0096d9]<?
$lokalizacja="nazwafolderu";
$folder=opendir($lokalizacja);
$pliki=-2;
while ($file=readdir($folder)){
$pliki++;
}
closedir($folder);
echo "Plików w folderze <B>$lokalizacja</B>: <B>$pliki</B>";
?>[/php:1:35bc0096d9]
Żeby nie tworzyć nowego tematu, czy da się zrobić drugi skrypt, który liczyłby tylko pliki zaczynające się na nazwę kat (skrót od kategoria), żeby liczył takie pliki jak kat1, kat2... kat7, katx? Z góry dziekuje!
netzah
np.
[php:1:6180e9c3f6]<?php
count( glob ("nazwafolderu/*.php3") );
?>[/php:1:6180e9c3f6]
Krzychur
tak, ale jak ja mam to umieścic wewnątrz tego skryptu. Sprobowalem tak:
[php:1:759a4c1168]<?
$lokalizacja="articles";
$folder=opendir($lokalizacja);
$pliki=-2;
while ($file=readdir($folder)
count(glob("articles/*.php3")winksmiley.jpg{
$pliki++;
}
closedir($folder);
echo "Plików w folderze <B>$lokalizacja</B>: <B>$pliki</B>";
?>[/php:1:759a4c1168]
ale nie zadziałało...
netzah
bez kombinacji ;-)

[php:1:60a58bbb6e]<?
$pliki = count(glob("articles/*.php3");
?>[/php:1:60a58bbb6e]
Krzychur
Dzięki poszło a co do kategorii to już zrobiłem samodzielnie biggrin.gif/ biggrin.gif/ biggrin.gif/
Krzychur
Aj jeszcze jedno. Jak zrobić, aby liczył pliki, których nazwy składają się z cyfr? Oczywiście uwzględniam to, że są tam jednocyfrowe i dwucyfrowe pliki. Rozszerzenie sam sobie dopisze smile.gif.
netzah
Mozesz np. sprawdzac kolejne elementy tablicy zwracanej przez glob() za pomoca wyrazen regularnych, czy nazwa sklada sie z 1 lub 2 cyfr (boloby to takie wyrazenie: /[0-9]{1,2}.rozszerzenie/)
Krzychur
mógłbyś umieścic to w jednym z powyższych przykładów, bo coś mnie nie wychodzi sad.gif
netzah
Moze np. tak:

[php:1:2ef30258c3]<?php

$pliki = glob('*.php');
$cnt = 0;

foreach ($pliki as $p)
if ( ereg("^[0-9]{1,2}.php", basename($p)) )
$cnt++;

?>[/php:1:2ef30258c3]
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.