Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> operacje na plikach w 1 folderze
edgar5
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 12.10.2007

Ostrzeżenie: (0%)
-----


Witam


Poszukuję skryptu php (w bash wiem mniej wiecej jak to zrobic, ale to malo uniwersalne rozwiazanie), które:

1. na podstawie zadanego przez uzytkownika zakresu dat i czasu (poprzez formularz) wyszuka pliki z zakresu podanego przez uzytkownika i wyswietli ich nazwy. Pliki to jpeg , ktore maja nastepujace nazwy:
np. 2010-02-17_01:34.jpg
a wiec skrypt albo szuka plikow na podstawie wlasciwosci plkow (czas utworzenia w unixie) lub na podstawie ich nazw wyzej pokazanych

proszę o pomoc jak cos takiego zrobic.

i jeszcze jedno, jka skryptem php wyswietlic plik z 1 folderu o najstarszej dacie utworzenia i najmlodszej?
acha pliki w powyzszym pytaniu to pliki z zakresu zwykle 48 godzin i znajduja sie w 1 folderze: fotki

ps. na stronie manuala php jest dyskusja o wykorzystaniu funkcji filemtime, ale nigdzie nie moge znalezc funkcji wyswietlajacej pliki z zakresu a-b

Ten post edytował edgar5 17.02.2010, 13:02:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
karolrynio
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/function.opendir.php

musisz otwórz katalog, pobierz listę plików i sprawdzaj czasy utworzenia każdego...
Go to the top of the page
+Quote Post
edgar5
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 12.10.2007

Ostrzeżenie: (0%)
-----


no dobrze ale co porównywać?
mozna porównac daty? tz: filemtime(file1) > filemtime(file2) ?
Go to the top of the page
+Quote Post
karolrynio
post
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Odpowiedz sobie na pytanie czy chcesz porównywać daty utworzenia plików, czy daty zapisane w nazwach plików... Bo nie potrafię do końca zrozumieć Twojego pierwszego posta...
Go to the top of the page
+Quote Post
edgar5
post
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 12.10.2007

Ostrzeżenie: (0%)
-----


obojetnie, tylko ze przetrawienie daty z nazwy pliku i sposób porównania wieksza/mniejsza nie jest do konca mi zrozumiały
jesli skrypt potrafilby czytac date a nastepnie przekonwertowal ja do formatu serowanego np przez funkcje time() - ilosc sekund od poczatku unixa to jest to zrozumiale, ale date w postaci: 2010-02-21_20:50 porównac z data podobna? nie do konca wiem jak to zrobic....
Go to the top of the page
+Quote Post
karolrynio
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


jesli masz wszystkie daty w postaci:
2010-02-21_20:50
i to są nazwy plików to wystarczy, że użyjesz
  1. $aa = explode('_', $nazwa_pliku_bez_rozszerzenia);
  2. $data = strtotime(implode(' ', $aa));

i w data masz ilość sekund która cię interesuje.

Ten post edytował karolrynio 18.02.2010, 08:09:37
Go to the top of the page
+Quote Post
edgar5
post
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 12.10.2007

Ostrzeżenie: (0%)
-----


Kod
<?
$directory="fotki";



$dir=opendir($directory);
$file_list="<UL>";
while($file_name=readdir($dir))
{

if(($file_name!=".")&&($file_name!="..")){
$file_name_cut=substr($file_name, 0, -4);
$aa=explode('_', $file_name_cut);
$czas=strtotime(implode('', $aa));


// $file_url=rawurlencode($file_name);
$file_list.=$czas;

}

}
$file_list.="</UL>";
closedir($dir);
echo $file_list;
?>


tylko mam jeszcze pytania:
1. jak ustawic wyswietlone czasy powstania plikow w porzadku chronologicznym?
2. jak odczytac z katalogu plik najstarszy i najmlodszy?

Ten post edytował edgar5 18.02.2010, 10:46:29
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:33