Witam, chciałbym się upewnić, że ten kod jest prawidłowy i naprawdę nie jestem pewien składni.

Oto sytuacja. Skanuję katalog i powtarzam jego zawartość jako tagi img i miniatury. Chcę również dopasować każdy obraz do opisów i tytułów, które są przechowywane w tabeli. ('id', 'name', 'title', 'description')

Nazwa każdego pliku w katalogu została utworzona z wartością wygenerowaną przez użytkownika, przechowywaną jako „nazwa” w tej samej tabeli. Chcę dopasować każdy tytuł i opis do nazwy pliku i umieścić je w odpowiednim miejscu w moim tagu img i łączu.

Oto kod:

<?php
$connect = mysql_connect ("localhost","root","") or die("couldn't connect :(");
mysql_select_db("cynthieimages") or die("couln't find db :(");

*here I want to pull the data from the table into an $data[]

$handle = opendir(dirname(realpath(__FILE__)).'/images/fullscreen/graphicdesign/logos');
while($file = readdir($handle))
  {
     if($file !== '.' && $file !== '..')
        {

        *Right in here I need to define $title by exploding $file and geting the first part of the name*
        *Here i want to define $description from $data[] where it shares a row name as $title* 

echo '<a href="images/fullscreen/graphicdesign/logos/'.$file.'" rel="prettyPhoto[pp_gal]" title="'.$description.'"><img src="images/thumbnails/websitethumbs/graphicdesign/logos/th_'.$file.'" width="60" height="60" alt="'.$title.'" /></a>';

       }
   }
?>

W każdym razie to mój proces myślowy... Nie jestem nawet pewien, czy to zadziała. Proszę, mistrzowie PHP, przyjdźcie mi z pomocą ;)

php
2
Jeremythuff 22 luty 2012, 04:12

2 odpowiedzi

Najlepsza odpowiedź

Wyszukiwanie bazy danych z danymi wejściowymi od użytkownika (nazwy plików w systemie plików są również danymi wejściowymi użytkownika) jest ryzykowne i podatne na problemy z bezpieczeństwem. Upewnij się, że poprawnie używasz mysql_real_escape_string, jeśli używasz mysql lub używasz równoważnej technologii w innych bazach danych.

Ale tym lepiej, trzymaj się odpowiedzi Eugena Riecka. Zapisz wszystkie metadane w swojej bazie danych i wyciągnij wszystko z bazy danych i zapisz tylko swój surowy obraz w pliku.

0
Aron Cederholm 22 luty 2012, 04:25

Sugeruję, abyś przemyślał swój projekt: przechowuj wszystko poza samym plikiem – w tym tekst wygenerowany przez użytkownika – w DB, niech DB utworzy dla niego identyfikator i nazwi plik tuż po identyfikatorze.

Przechodzenie przez katalog jest znacznie droższe niż pobranie kilku pól z bazy danych.

1
Eugen Rieck 22 luty 2012, 04:21