Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Jak pobrać "adres" pliku
Forum PHP.pl > Forum > Przedszkole
viamarimar
Nie do końca nie wiem jak nazwać to co potrzebuje zrobić, daltego taka dziwna nazwa no ale już pisze o co chodzi.

Tworze cos w rodzaju banalnej galeri opartej o lightbox. Tzn. obrazki sa wrzucane do folderu galeria i wyswietlaja sie. Teraz chcialem zrobic do tego jakis panel. Dodawanie zrobilem, problem przy usuwaniu, bo nie za bardzo wiem jak pobrac cos w rodzaju "adresu" takiego pliku. Nie trzymam informacji o tym w bazie wiec nie mam tego w bazie chodzi o cos na zasadzie:
  1. <a href="admin.php?s=user&a=akt&[b]id='.$r['id'].'" [/b] >


W sensie jakies przekierowanie zeby bylo, tylko ze tamto jest na bazie.

Plik wyswietlam w taki sposob:

  1. if(isset($_GET['s']) && $_GET['s']=='galerka' && isset($_GET['a']) && $_GET['a']=='wys' ){
  2. $dir = "galeria";
  3.  
  4. echo '<table border="1">';
  5. if (is_dir($dir)) {
  6. if ($dh = opendir($dir)) {
  7. while (($file = readdir($dh)) !== false) {
  8. echo '<tr>';
  9. echo '<td><a class="example-image-link" href="'.$dir."/".$file .'" data-lightbox="example-1"><img class="example-image" src="'.$dir."/".$file .'"></a></td>';
  10. echo '<td><a href="mod.php?s=galerka&a=usun">USUŃ</a></td>';
  11. echo '</tr>';
  12. }
  13. closedir($dh);
  14. }
  15. }
  16. echo '<table>';
  17. }


Kasowac probuje tak? Moze inaczej znalazlem taki kod na necie i pisza ze dziala jednak dalej nie widze opcji identyfikatora dla jednego obrazka zeby mozna usunac poszczegolny obrazek z tej prymitywnej galerii

  1. if(isset($_GET['s']) && $_GET['s']=='galerka' && isset($_GET['a']) && $_GET['a']=='usun' ){
  2. $file= $_GET['zdjecie'];
  3. $katalog = "./galeria/";
  4. if (file_exists($katalog.$file))
  5. unlink($katalog.$file);
  6. }


W jaki sposob takie cos rozwiazac? Mam dodawac informacje do bazy i na podstawie tego? Nie da sie bez tego?
fate
mod.php?s=galerka&a=usun
ten link nie przekazuje nic do pliku mod.php
$file= $_GET['zdjecie'];

musi byc przy wysiwietlaniu
mod.php?s=galerka&a=usun&zdjecie='.$file.'"

mam nadzieje ze w folderze galeria i glebiej masz tylko pliki graficzne do galerii
viamarimar
ok tamto dziala ale jeszcze jedno cos zblizone tematycznie:

  1. $dir = "./upload/";
  2. if (is_dir($dir)) {
  3. if ($handle = opendir($dir)) {
  4. echo "Directory handle: $handle\n";
  5.  
  6. /* This is the correct way to loop over the directory. */
  7. $file2 = readdir($handle);
  8. echo'<td><a href="mod.php?s=pliki&a=edytuj&plik='.$file2.'" ><img src="images/edytuj.jpg" alt="Edytuj" /></a></td>';
  9. echo $file2;
  10. closedir($handle);
  11. }
  12. }


dlaczego $file2 zwraca kropke jesli w katalogu upload sa pliki?
fate
Uzywaj
http://php.net/manual/en/function.scandir.php
to znacznie szybsze, ale te skrypty znalazles pewnie w necie

Pierwsze dwa elementy to zawsze folder skanownany "." oraz nadrzedny ".."
http://www.devnetwork.net/viewtopic.php?f=1&t=2341
viamarimar
  1. $dir = "./upload/";
  2. // Open a directory, and read its contents
  3. if ($handle = opendir($dir)) {
  4. while (false !== ($file2 = readdir($handle))) {
  5. if ($file2 != "." && $file2 != "..") {
  6. echo'<td><a href="mod.php?s=pliki&a=edytuj&plik='.$file2.'" ><img src="images/edytuj.jpg" alt="Edytuj" /></a></td>';
  7. }
  8. }
  9. closedir($handle);
  10. }


nazwy pobiera tylko problem jest tego typu:

http://www.iv.pl/viewer.php?file=72135430469008985261.png


a w taki sposob wysweitla jedno echo tylko nie odczytuje juz nazwy pliku:

  1. if (scandir($dir)) {
  2. if ($handle = opendir($dir)) {
  3. # while (false !== ($file2 = readdir($handle))) {
  4. $file2 =(readdir($handle));
  5. # if ($file2 != "." && $file2 != "..") {
  6. echo'<td><a href="mod.php?s=pliki&a=edytuj&plik='.$file2.'" ><img src="images/edytuj.jpg" alt="Edytuj" /></a></td>';
  7. # }
  8.  
  9. # }
  10. closedir($handle);
  11. }
  12. }
fate
bo wstawilem to w jakas petle wyswietlania
to ikonki edytuj maja ci sie pokazywac w kolumnie, no i widze ze masz tam rozne pliki... to wszystko folder galeria?
viamarimar
to osobny folder

  1. if(mysql_num_rows($result) > 0) {
  2. /* jeśli zap jest pozytywny, to wyświetlamy dane */
  3. echo '<table class="table table-hover">';
  4. echo"<tr><thead>";
  5. echo"<th>ID</th>";
  6. echo"<th>PELNANAZWA</th>";
  7. echo"<th>POJEMNOSC</th>";
  8. echo"<th>TYP</th>";
  9. echo"<th>DATA</th>";
  10. echo"<th>ILE</th>";
  11. echo"<th>AKTYWNY</th>";
  12. echo"<th>&nbsp;</th>";
  13. echo"<th>&nbsp;</th>";
  14. echo"</thead></tr>";
  15.  
  16. while($r = mysql_fetch_assoc($result)) {
  17.  
  18. $dir = "./upload/";
  19. if (scandir($dir)) {
  20. if ($handle = opendir($dir)) {
  21. while (false !== ($file2 = readdir($handle))) {
  22. if ($file2 != "." && $file2 != "..") {
  23.  
  24. echo "<tr>";
  25. echo"<td>".$r['id']."</td>";
  26. echo"<td>".$r['pelnanazwa']."</td>";
  27. echo"<td>".$r['pojemnosc']."</td>";
  28. #poczatek ifa na obrazkowe wysw
  29. if($r["typ"] =='image/gif'){
  30. echo'<td><img src="images/mime/gif_32.png" alt="image/gif" /></td>';
  31. }
  32. else if($r["typ"] =='image/jpeg'){
  33. echo'<td><img src="images/mime/jpg_32.png" alt="image/jpeg" /></td>';
  34. }
  35. else if($r["typ"] =='image/png'){
  36. echo'<td><img src="images/mime/png_32.png" alt="image/png" /></td>';
  37. }
  38. else if($r["typ"] =='text/css'){
  39. echo'<td><img src="images/mime/css_32.png" alt="text/css" /></td>';
  40. }
  41. else if($r["typ"] =='text/csv'){
  42. echo'<td><img src="images/mime/csv_32.png" alt="text/csv" /></td>';
  43. }
  44. else if($r["typ"] =='text/html'){
  45. echo'<td><img src="images/mime/html_32.png" alt="text/html" /></td>';
  46. }
  47. else if($r["typ"] =='audio/mpeg' && $r["typ"] =='audio/mp4' && $r["typ"] =='video/mp4'){
  48. echo'<td><img src="images/mime/audio_32.png" alt="music" /></td>';
  49. }
  50. else if($r["typ"] =='application/ogg'){
  51. echo'<td><img src="images/mime/ogg_32.png" alt="application/ogg" /></td>';
  52. }
  53. else if($r["typ"] =='application/pdf'){
  54. echo'<td><img src="images/mime/pdf_32.png" alt="application/pdf" /></td>';
  55. }
  56. else if($r["typ"] =='application/vnd.ms-powerpoint'){
  57. echo'<td><img src="images/mime/pps_32.png" alt="application/vnd.ms-powerpoint" /></td>';
  58. }
  59. else if($r["typ"] =='application/rtf'){
  60. echo'<td><img src="images/mime/rtf_32.png" alt="application/rtf" /></td>';
  61. }
  62. else if($r["typ"] =='image/tiff'){
  63. echo'<td><img src="images/mime/tiff_32.png" alt="image/tiff" /></td>';
  64. }
  65. else if($r["typ"] =='text/plain'){
  66. echo'<td><img src="images/mime/txt_32.png" alt="text/plain" /></td>';
  67. }
  68. else if($r["typ"] =='text/xml'){
  69. echo'<td><img src="images/mime/xml_32.png" alt="text/xml" /></td>';
  70. }
  71. else if($r["typ"] =='aplication/zip'){
  72. echo'<td><img src="images/mime/zip_32.png" alt="aplication/zip" /></td>';
  73. }
  74. else if($r["typ"] =='application/x-msdownload'){
  75. echo'<td><img src="images/mime/exec_32.png" alt="application/x-msdownload" /></td>';
  76. }
  77. else{
  78. echo '<td><img src="images/mime/file_32.png" alt="file" /></td>';
  79. }
  80. #koniec ifa
  81. echo"<td>".$r['data']."</td>";
  82. echo"<td>".$r['ile']."</td>";
  83. if ($r['aktywny']=='0'){
  84. echo'<td><a href="mod.php?s=pliki&a=akt&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno aktywować plik?\')" ><img src="images/nie.png" alt="0" /></a></td>';
  85. }
  86. if ($r['aktywny']=='1'){
  87. echo'<td><a href="mod.php?s=pliki&a=dezakt&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno dezaktywować plik?\')" ><img src="images/tak.png" alt="1" /></a></td>';
  88. }
  89.  
  90. echo'<td><a href="mod.php?s=pliki&a=edytuj&plik='.$file2.'" ><img src="images/edytuj.jpg" alt="Edytuj" /></a></td>';
  91. echo'<td><a href="mod.php?s=pliki&a=usun&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno usunąć?\')" ><img src="images/kosz.png" alt="Usuń" /></a></td>';
  92.  
  93. echo "</tr>";
  94. }
  95.  
  96. }
  97. closedir($handle);
  98. }
  99. }
  100.  
  101.  
  102.  
  103.  
  104. }
  105. echo "</table>";
  106. }


To jest cale wyswietlanie, tylko teraz dubluja sie nazwy x 19 bo tyle jest plikow ;<

pewnie duzo tu namieszalem ;/
fate
Nazwy plików masz zapisane w bazie to olej readdir/scandir, waliduj tylko czy masz na liscie wszystkie pliki zeby lista byla aktualna, 2 rzecz to w pliku mod.php zebys nie zezwalal na usuwanie dowolnego pliku poprzez odpowidenia konstrukcje linku ze zmiennymi GET w adresie, 3 rzecz nie rozumiem dlaczego do edycji przekazujesz nazwe pliku a do usuwania jego ID, moze przy edycji skorzystaj z tej samej formuly co rzy usuwaniu lub na odwrot
  1. <?php
  2.  
  3. echo '<table class="table table-hover">';
  4. echo"<tr><thead>";
  5. echo"<th>ID</th>";
  6. echo"<th>PELNANAZWA</th>";
  7. echo"<th>POJEMNOSC</th>";
  8. echo"<th>TYP</th>";
  9. echo"<th>DATA</th>";
  10. echo"<th>ILE</th>";
  11. echo"<th>AKTYWNY</th>";
  12. echo"<th>&nbsp;</th>";
  13. echo"<th>&nbsp;</th>";
  14. echo"</thead></tr>";
  15.  
  16. $dir = "./upload/";
  17. while($r = mysql_fetch_assoc($result)) {
  18.  
  19. echo "<tr>";
  20. echo"<td>".$r['id']."</td>";
  21. echo"<td>".$r['pelnanazwa']."</td>";
  22. echo"<td>".$r['pojemnosc']."</td>";
  23. #poczatek ifa na obrazkowe wysw
  24. if($r["typ"] =='image/gif'){
  25. echo'<td><img src="images/mime/gif_32.png" alt="image/gif" /></td>';
  26. }
  27. else if($r["typ"] =='image/jpeg'){
  28. echo'<td><img src="images/mime/jpg_32.png" alt="image/jpeg" /></td>';
  29. }
  30. else if($r["typ"] =='image/png'){
  31. echo'<td><img src="images/mime/png_32.png" alt="image/png" /></td>';
  32. }
  33. else if($r["typ"] =='text/css'){
  34. echo'<td><img src="images/mime/css_32.png" alt="text/css" /></td>';
  35. }
  36. else if($r["typ"] =='text/csv'){
  37. echo'<td><img src="images/mime/csv_32.png" alt="text/csv" /></td>';
  38. }
  39. else if($r["typ"] =='text/html'){
  40. echo'<td><img src="images/mime/html_32.png" alt="text/html" /></td>';
  41. }
  42. else if($r["typ"] =='audio/mpeg' && $r["typ"] =='audio/mp4' && $r["typ"] =='video/mp4'){ //CHYBA OR
  43. echo'<td><img src="images/mime/audio_32.png" alt="music" /></td>';
  44. }
  45. else if($r["typ"] =='application/ogg'){
  46. echo'<td><img src="images/mime/ogg_32.png" alt="application/ogg" /></td>';
  47. }
  48. else if($r["typ"] =='application/pdf'){
  49. echo'<td><img src="images/mime/pdf_32.png" alt="application/pdf" /></td>';
  50. }
  51. else if($r["typ"] =='application/vnd.ms-powerpoint'){
  52. echo'<td><img src="images/mime/pps_32.png" alt="application/vnd.ms-powerpoint" /></td>';
  53. }
  54. else if($r["typ"] =='application/rtf'){
  55. echo'<td><img src="images/mime/rtf_32.png" alt="application/rtf" /></td>';
  56. }
  57. else if($r["typ"] =='image/tiff'){
  58. echo'<td><img src="images/mime/tiff_32.png" alt="image/tiff" /></td>';
  59. }
  60. else if($r["typ"] =='text/plain'){
  61. echo'<td><img src="images/mime/txt_32.png" alt="text/plain" /></td>';
  62. }
  63. else if($r["typ"] =='text/xml'){
  64. echo'<td><img src="images/mime/xml_32.png" alt="text/xml" /></td>';
  65. }
  66. else if($r["typ"] =='aplication/zip'){
  67. echo'<td><img src="images/mime/zip_32.png" alt="aplication/zip" /></td>';
  68. }
  69. else if($r["typ"] =='application/x-msdownload'){
  70. echo'<td><img src="images/mime/exec_32.png" alt="application/x-msdownload" /></td>';
  71. }
  72. else{
  73. echo '<td><img src="images/mime/file_32.png" alt="file" /></td>';
  74. }
  75. #koniec ifa
  76. echo"<td>".$r['data']."</td>";
  77. echo"<td>".$r['ile']."</td>";
  78. if ($r['aktywny']=='0'){
  79. echo'<td><a href="mod.php?s=pliki&a=akt&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno aktywować plik?\')" ><img src="images/nie.png" alt="0" /></a></td>';
  80. }
  81. if ($r['aktywny']=='1'){
  82. echo'<td><a href="mod.php?s=pliki&a=dezakt&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno dezaktywować plik?\')" ><img src="images/tak.png" alt="1" /></a></td>';
  83. }
  84. //PRZEKAZANIE PELNEJ NAZWY PLIKU POPRZEZ GET DO MOD.PHP
  85. echo'<td><a href="mod.php?s=pliki&a=edytuj&plik='.$r['pelnanazwa'].'" ><img src="images/edytuj.jpg" alt="Edytuj" /></a></td>';
  86. echo'<td><a href="mod.php?s=pliki&a=usun&id='.$r['id'].'" onclick="return confirm(\'Czy na pewno usunąć?\')" ><img src="images/kosz.png" alt="Usuń" /></a></td>';
  87.  
  88. echo "</tr>";
  89.  
  90. }
  91. echo "</table>";
  92.  
  93.  
  94. ?>


viamarimar
poprostu mam nazwy w bazie i mialem elegancko usuwanie i edycje an podstawie bazy ale co mi z tego ze usune czy edytuje cos w bazie jak to sie nie usunie z katalogu? Chcialem to dorobic a jak zaczolem kombinowac to sie zrobil bigos. Dlatego przy edycji co innego i przy usuwaniu co innego
fate
bogatszy w doświadczenia przepisz to więc od nowa arrowheadsmiley.png
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.