Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Ładowanie zdjec z katalogu
Forum PHP.pl > Forum > Przedszkole
ArturEales
Witam mam spory problem. Chciałbym:

1.Sprawdzam co zawiera folder "AAA"

[PHP] pobierz, plaintext
  1. $dir = "AAA/";
  2. if (is_dir($dir)) {
  3. if ($dh = opendir($dir)) {
  4. while (($file = readdir($dh)) !== false)
  5. {
  6. echo "$file" . "\n <br>";
  7. }
  8. closedir($dh);
  9. }
  10. }
[PHP] pobierz, plaintext

2. Teraz chodzi oto żeby te nazwy np. foto01.jpg zostały zapisane w postaci zmiennej i użyte w adresie.
[PHP] pobierz, plaintext
  1. $adres = "<img src='AAA/$nazwa' alt='błąd' />";
[PHP] pobierz, plaintext
kfc4
To w czym jest problem? Może Ci chodzi o zapisywanie w tablicy?
ArturEales
Właśnie nie wiem jak to zapisać w tablicy :/

kombinowałem tak:
mogą tu być błędy bo zmieniałem to już chyba 1000razy tongue.gif

[PHP] pobierz, plaintext
  1. <?php
  2. $dir = "AAA/";
  3. if (is_dir($dir)) {
  4. if ($dh = opendir($dir)) {
  5. $xb=0;
  6. while (($file = readdir($dh)) !== false) {
  7. $xb++;
  8. echo "id$xb" . "$file" . "\n <br>";
  9. $wynik = "<id$xb " . "$file" . "kn>";
  10. }
  11. closedir($dh);
  12. }
  13. }
  14. $nm = 0;
  15. $xvv = $xb;
  16. while($xvv==0)
  17. {
  18. $xvv--;
  19. $nm++;
  20. preg_match("/<id$nm(.*?)kn>/is", $wynik, $zna);
  21. echo $zna[$nm];
  22. }
  23. $numeration=0;
  24. $fff=$nm;
  25. while($fff==0)
  26. {
  27. $fff--;
  28. $numeration++;
  29. $adres = "$zna[$numeration]" . "$numeration";
  30. echo "<img src='AAA/$adres'/> ";
  31. }
  32. ?>
[PHP] pobierz, plaintext

Mam coś takiego
  1. <?php
  2. $dir=scandir("photos");
  3. $exclude=array("photos/.","photos/..","photos/ex");
  4. $photos=array();
  5. for ($x=0; $x<count($dir); $x++){
  6. $dir[$x]="photos/".$dir[$x];
  7. if (is_dir($dir[$x]) && !in_array($dir[$x], $exclude)){
  8. $thisfolder=scandir($dir[$x]);
  9. for ($f=0; $f<count($thisfolder); $f++)
  10. if (strpos(strtolower($thisfolder[$f]), ".jpg"))
  11. $photos[]=$dir[$x]."/".$thisfolder[$f];
  12. }
  13. }
  14. $rand=rand(0, count($photos));
  15. echo "<div style='text-align: center;'>";
  16. echo "<img src='".$photos[$rand]."' alt='Error' style='width: 80%'/>";
  17. echo "</div>";
  18.  
  19. echo ".$photos[$rand].";
  20. ?>


tylko nie dział poprawnie wyświetla .. zamiast nazwy zdjęcia
piotrooo89
glob + foreach i masz wszystko czego zapragniesz.
ArturEales
Witam Mam coś takiego:
  1. <?php
  2. foreach (glob("AAA/*.*") as $filename)
  3. {
  4. $dane = "$filename" . "-";
  5. $podzial=explode("-",$dane);
  6.  
  7. echo($podzial[1]);
  8. echo "$dane";
  9. }
  10. ?>
  11.  
  12.  


Niestety nie działa i nie wiem czemu :/ HELP....
piotrooo89
ale powiedz dokładnie co Ty tak naprawdę chcesz zrobić, najlepiej zilustruj to przykładem.
ArturEales
To tak mam folder ze zdjęciami na serwerze i script który pozawala na szybki upload. tylko problem w tym ze teraz chciałbym zobaczyć wszystkie zdjęcia z tego folderu. Miniaturka obrazka + nazwa + rozmiar np.


mamy folder "AAA" na serwerze

wrzucamy zdjęcie 01.jpg

i teraz na stronie index.php powinienem zobaczyć:


[Obrazek]
Nazwa: 01.jpg
Rozmiar: 20KB
piotrooo89
aha, to może tak:

  1. foreach (glob("AAA/*.jpg") as $filename)
  2. {
  3. echo 'Nazwa: '.$filename;
  4. echo 'Rozmiar: '.filesize($filename);
  5. }
ArturEales
to ok ale w tym katalogu jest 10zdjęc i teraz jak je wyświetlić?
piotrooo89
dokładnie jak Ci napisałem, wypróbuj kod.
ArturEales
efekt
Nazwa: AAA/01.jpgRozmiar: 83794Nazwa: AAA/02.jpgRozmiar: 28521Nazwa: AAA/03.jpgRozmiar: 71189Nazwa: AAA/04.jpgRozmiar: 105542



Może powiem inaczej:

Mamy taki efekt jeśli użyjemy kodu poniżej : AAA/01.jpgAAA/02.jpgAAA/03.jpgAAA/04.jpg

  1. <?
  2. foreach (glob("AAA/*.*") as $filename)
  3. {
  4. echo $filename;
  5. }
  6. ?>


Pytanie brzmi Jak teraz to podzielić żeby m mógł wyciągnąć nazwę pojedynczego pliku?

np. pisze sobie
  1. echo $nazwa[2]


i dostaje
AAA/02.jpg
piotrooo89
kurcze dodaj sobie br, i zobaczysz w nowych liniach...

  1. foreach (glob("AAA/*.jpg") as $filename)
  2. {
  3. echo 'Nazwa: '.$filename;
  4. echo 'Rozmiar: '.filesize($filename).'<br>';
  5. }
ArturEales
Ale mnie chodzi o wyświetlenie zdjęcia a nie nazwy zdjęcia

  1. echo "<img src='' alt='error' />";
piotrooo89
teraz to już kompletnie nie trybie... chcesz pokazać zdjęcia, ich nazwy czy pojedyncze zdjęcie?
ArturEales
TWÓJ KOD DZIAŁA TAK:

Nazwa: AAA/01.jpgRozmiar: 83794
Nazwa: AAA/02.jpgRozmiar: 28521
Nazwa: AAA/03.jpgRozmiar: 71189
Nazwa: AAA/04.jpgRozmiar: 105542


A ma działać TAK


Nazwa:01.jpg
Rozmiar:83794
piotrooo89
kurcze nie krzycz na mnie, staram się pomóc...

  1. foreach (glob("AAA/*.jpg") as $filename)
  2. {
  3. echo 'Nazwa: '.$filename.'<br>';
  4. echo 'Rozmiar: '.filesize($filename).'<br>';
  5. break;
  6. }

ArturEales
nie krzyczę biggrin.gif tylko chciałem żeby było widoczne

--------------------------

Jak podzielić
$filename

na tablice

tab[0]
tab[1]
tab[2]
...

piotrooo89
omg... super... teraz zarybiłem, chyba o co Ci chodzi:

  1. $i=0
  2. foreach (glob("AAA/*.jpg") as $filename)
  3. {
  4. $tab[$i]['nazwa'] = $filename;
  5. $tab[$i]['rozmiar'] = filesize($filename);
  6. $i++;
  7. }


i aby dostać się do 1 pliku dajesz echo $tab[0]['nazwa'];
ArturEales
Tak oto mi chodzi ale niestety script nie działa :/pozwoliłem sobie poprawić bo zapomniałeś ';' ale teraz sie nic nie wyświetla :/

  1. <?
  2. $i=0;
  3. foreach (glob("AAA/*.*") as $filename)
  4. {
  5. $tab[$i]['nazwa'] = $filename;
  6. $tab[$i]['rozmiar'] = filesize($filename);
  7. $i++;
  8. }
  9.  
  10. ?>
piotrooo89
bo się nie wyświetli, sprawdź sobie poza pętla print_r($tab) czy masz tam dane.
ArturEales
wynik

Array ( [0] => Array ( [nazwa] => AAA/01.jpg [rozmiar] => 83794 ) [1] => Array ( [nazwa] => AAA/02.jpg [rozmiar] => 28521 ) [2] => Array ( [nazwa] => AAA/03.jpg [rozmiar] => 71189 ) [3] => Array ( [nazwa] => AAA/04.jpg [rozmiar] => 105542 ) )
piotrooo89
no i teraz daj żeby np wyświetlić nazwę echo $tab[0]['nazwa']; dostaniesz AAA/01.jpg.
ArturEales
Oki mój błąd dział jesteś WIELKI.....

mam jeszcze jedne problem :/ jakichś przyczyn nie wyświetla mi zdjeć

[php
  1. <?
  2. $i=0;
  3. foreach (glob("AAA/*.*") as $filename)
  4. {
  5. $tab[$i]['nazwa'] = $filename;
  6. $tab[$i]['rozmiar'] = filesize($filename);
  7. $i++;
  8. $num = $i;
  9. }
  10. $id = 0;
  11. while($num>=0)
  12. {
  13. $num--;
  14. echo "<img src='$tab[$id]['nazwa']' width='120' height='60'/>";
  15. echo "<br>";
  16. echo $tab[$id]['nazwa'];
  17. echo "<br>";
  18. echo $tab[$id]['rozmiar'];
  19. echo "<br>";
  20. $id++;
  21. }
  22. ?>
[/php]


Wynk :

ERROR
AAA/01.jpg
83794
ERROR
AAA/02.jpg
28521
ERROR
AAA/03.jpg
71189
ERROR
AAA/04.jpg
105542


piotrooo89
no ale co chcesz teraz znów wyświetlić?
ArturEales
ok mam chaiłem te fotki wyświetlać działa

  1. <?
  2. $i=0;
  3. foreach (glob("AAA/*.*") as $filename)
  4. {
  5. $tab[$i]['nazwa'] = $filename;
  6. $tab[$i]['rozmiar'] = filesize($filename);
  7. $i++;
  8. $num = $i;
  9. }
  10.  
  11. $id = 0;
  12. while($num>0)
  13. {
  14. $num--;
  15. $mode = $tab[$id]['nazwa'];
  16. echo "<img src='$mode' width='120' height='60'/>";
  17. echo "<br>";
  18. echo $tab[$id]['nazwa'];
  19. echo "<br>";
  20. echo $tab[$id]['rozmiar'];
  21. echo "<br>";
  22. $id++;
  23. }
  24.  
  25. ?>
  26.  
piotrooo89
wiesz szczerze nie mam pojęcia po co Ci to wszystko do tablicy ja bym to zrobił w jednej pętli, bo robi się lekkie masło maślane...

  1. foreach (glob("AAA/*.*") as $filename)
  2. {
  3. echo '<img src="'.$filename.'" width="120" height="60"/>';
  4. echo "<br>";
  5. echo $filename;
  6. echo "<br>";
  7. echo filesize($filename);
  8. echo "<br>";
  9. }
ArturEales
Odgrzeje temat. Chciałbym By niektóre pliki zostały pominięte jak to zrobić? Np. mam plik plik.php i nie chcę go wyświetlać na liście.  




Spawnm
robisz tablicę z nazwami plików których nie chcesz wyświetlić , potem
  1. glob(){
  2. if(!in_array()){//jeśli nie ma w czarnej liście
  3. echo $plik
  4. }
  5. }
ArturEales
Po głębszych przemyśleniach coś mi tu nie gra...

napisałeś tak...

jeśli nie znajdziesz wartości "X" w tablicy "Y" wykonaj:

{

...kod

}

tam mi się wydaj jak jest inaczej roszę mnie poprawić 

Spawnm
No tak, robisz tablicę
$ar=array('pliki','pomijane');
i w pętli globa sprawdzasz to co wyciąga jeśli nie ma tego w tej tablicy $ar to wyświetlasz smile.gif
ArturEales
ok to mam cos takiego :




Kod
      

      $i=0;
      foreach (glob("*.*") as $filename)
      {
      $tab[$i]['nazwa'] = $filename;
      $tab[$i]['rozmiar'] = filesize($filename);
      $i++;
      $num = $i;
      }


i teraz zmieniam tak:


Kod
$i=0;

$ar=array('plik_pomijany.php');


      foreach (glob("*.*") as $filename)
      {

glob(){
   if(!in_array($ar,$filename)){


$tab[$i]['nazwa'] = $filename;
      $tab[$i]['rozmiar'] = filesize($filename);
      $i++;
      $num = $i;
      }
    }
}


Spawnm
ArturEales, nim coś napiszesz zobacz co robi jaka funkcja, manual nie boli, a gotowca nie dostaniesz.
Ociu
@ArturEales: Proszę trochę samodzielności, bo można wywnioskować, że chcesz gotowca. Nie dostaniesz takowego. To co Ty chcesz osiągnąć to podstawy php + manual.
StevDefs
Cialis V Viagra viagra online pharmacy Zovirax Cheap With Next Day Shipping Reviews Cialis Lilly Nebenwirkungen

Cialis Mode D'Emploi Progesterone Can I Purchase Best Website No Doctor Clomid Amenorrhee cialis buy brand name accutane Alert accutane online canada no prescription

Amoxicillin Kidney Infection cialis Canadian Meds No Prescription Online Pharmacy Genuine Medications Radio Advertisments For Healthy Man

Viagra Hilft Nicht viagra online Tofranil
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.