![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 6.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jak wrzucic do kolejnych zmiennych zm2, zm2 ... wszystkie pliki w katalogu (na srvie) z rozszerzeniem .usr?? i jeszcze do zmiennej np. $zmi ich ilosc??
-------------------- Radio Maryja, Only Heavy Metal, 66,6FM
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
[php:1:489f064a46]<?php
$kat="katalog/"; $dir=dir($kat); $zmi=0; $i=0; while($file=$dir->Read()) { $tmp=explode(".",$file); if($tmp[1]=="usr" || $tmp[1]=="USR") { $i++; ${"zm".$i}=$tmp[0].".".$tmp[1]; $zmi++; } } ?>[/php:1:489f064a46] Nie wiem, czy o to chodziło z tymi zmiennymi. Poza tym nie wiem, czy dobrze zastosowałem ten kod ${"zm".$i} ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Napisałem kiedyś prostą funkcje (korzystając z komentarzy w manualu) która wrzuca pliki z danego katalogu do tablicy i ją zwraca:
[php:1:0cbc648442]<?php function array_dir($dir_name = '.'){ $dir = opendir($dir_name); $i = 0; while($file = readdir($dir)){ if($i > 1) $array_dir[$i] = $plik; $i++; } closedir($dir); return $array_dir; } ?>[/php:1:0cbc648442] Dwa pierwsze 'pliki' są pomijane, bo są to '.' i '..' :] Żeby wyświetlić pliki z folderu np. pliki, wystarczy taki kod: [php:1:0cbc648442]<?php $pliki = array_dir('pliki'); foreach($pliki as $plik){ echo "$plik<BR>n"; } ?>[/php:1:0cbc648442] Ilość plików można uzyskać używająć funkcji count(): [php:1:0cbc648442]<?php $ilosc = count($pliki); ?>[/php:1:0cbc648442] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dobra, ale ten skrypt nie rozpoznaje roszerzeń, a o to przecież chodziło.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
[php:1:13d68d6122]<?php
function array_dir($dir_name = '.'){ $dir = opendir($dir_name); $i = 0; while($file = readdir($dir)){ $ext = explode('.', $file); $cnt = count($ext); $ext = $ext[--$cnt]; if($ext == 'usr') $array_dir[] = $file; } closedir($dir); return $array_dir; } $pliki = array_dir(); foreach($pliki as $plik){ echo "$plik<BR>n"; } echo "<HR>n"; echo 'Ilość plików z rozszerzeniem *.usr w folderze: '.count($pliki)."<BR>n"; ?>[/php:1:13d68d6122] Teraz funkcja pokaże pliki tylko z rozszerzeniem jakie sobie podasz. Puszczenie jej bez parametrów powoduje wyświetlenie plików z tego katalogu w którym leży plik z funkcją. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cudi: lekka modyfikacja - czemu nie wywolac funkcji z dwoma parametrami?[php:1:5bf70a02ee]<?php
function array_dir($extension, $dir_name = '.'){ $dir = opendir($dir_name, $extension); $i = 0; while($file = readdir($dir)){ $ext = explode('.', $file); $cnt = count($ext); $ext = $ext[--$cnt]; if($ext == $extension) $array_dir[$i] = $file; $i++; } closedir($dir); return $array_dir; } $extension = 'txt'; $pliki = array_dir($extension /*, drugi parametr opcjonalny */); foreach($pliki as $plik){ echo "$plik<BR>n"; } echo "<HR>n"; echo 'Ilość plików z rozszerzeniem '.$extension.' w folderze: '.count($pliki)."<BR>n"; ?>[/php:1:5bf70a02ee][/b] -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Spenzalo, twój kod sie wywali na plikach typu plik.test.usr, natomiast kod Cudiego będzie wtedy działał!
PS. Jak robicie tablice to, zamiast używać zmiennej $i (a tak wogóle, to ciekawe, czemu i), można użyć zapisu $array[]=ble, co dodaje ble według algorytmu[php:1:8ee68fd609]<?php $array=array(1,2,3,4,5); $array[count($array)]=$element;//doda $element do $array[5]; $array=array(1,2,3,4,5); $array[]=$element;//doda element do $array[5] ?>[/php:1:8ee68fd609] |
|
|
![]()
Post
#8
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
No rzeczywiście, w sumie to teraz już z tego korzystam, ale tą funkcje pisałem tak dawno temu... W zasadzie to to przeróbka czyjejś funkcji, była gdzieś w komentarzach w maualu, ja tylko sobie dodałem żeby zapisywał do jednej tablicy. A dziś jak to kopjowałem to nawet sie nie zastanowiłem na optymalizacją
![]() PS. A co jesli w nazwie pliku będzie kilka kropek ? :] Mój kod zadziała ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Scanner: co będzie jak roszerzenia będą miały różne wielkości liter? np. JPG, jpg ?
Jabol: "i" bo skrót od "index" :-) -------------------- |
|
|
![]()
Post
#10
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Przecierz zostało napisane w pierwszym poście że ma to być *.usr, pewnie będą to pliki tworzone przez php, więc raczej rozszerzenia będą miały jednakowową wielkość (tak mi sie zdaje :])
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przecierz zostało napisane w pierwszym poście że ma to być *.usr, pewnie będą to pliki tworzone przez php, więc raczej rozszerzenia będą miały jednakowową wielkość (tak mi sie zdaje :])
A kto wie, czy nie będzie chciał tcyh plików skopiować na komputer, potem może je przetwarzać i skąd wiadomo, że przy wysyłaniu klient FTP mu ich nie zmieni? -------------------- |
|
|
![]()
Post
#12
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Klient FTP ? Ja korzystam z Total Commandera i jeszcze mi sie nie zdarzyło żeby coś pomieszał :] Ale przecierz dopisanie do if'a || $ext == 'USR' nie jest takie znowu trudne :]
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Klient FTP ? Ja korzystam z Total Commandera i jeszcze mi sie nie zdarzyło żeby coś pomieszał :] Ale przecierz dopisanie do if'a || $ext == 'USR' nie jest takie znowu trudne :]
Też z niego korzystam, ale kiedyś miałem CuteFTP i mi to gówno wszystkie rozszerzenia na duze litery zrobiło. Dobra, może już starczy tej wymiany argumentów :-) -------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat Scanner: co będzie jak roszerzenia będą miały różne wielkości liter? np. JPG, jpg ?
My tu nie piszemy gotowców - tak trudno dodac strto*() ? -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
a co powiecie na to:[php:1:2864d45535]<?php
foreach (glob("*.usr") as $filename) { print "$filenamen"; } ?>[/php:1:2864d45535] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:18 |