Mam na stronie zrobiony formularz który umożliwia upload zdjęć , chcę dodać możliwość wstawiania opisu do swojego zdjęcia. Do formularza dodałem już input text i chciałbym , żebyście mi powiedzieli jak zapisać ten opis do pliku np: Opisy.txt. Mają się tam zapisywać wszystkie opisy i być wczytywane przy odpowiednim zdjęciu, z tym może i bym sobie jakimś cudem poradził ale nie wiem czy można tak aby po usunięciu zdjęcia z ftp komentarz do niego się usuwał
Może oparte być na mysql tylko, żeby dużo mb nie zżerało.
Z góry dzięki
Oto skrypt Uploadu:
<?php
echo '<?xml version="1.0" encoding="iso-8859-2"?>'; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<div>
<form enctype="multipart/form-data" action="galeria.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input name="plik" type="file" />
<input name="Opis" type="Text" />
<input type="submit" value="Wyślij plik" />
</form>
</div>
<?php
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
// sprawdzamy rozszerzenie
if($sp[1] == "gif" or $sp[1] == "jpg" or $sp[1] == "PNG" or $sp[1] == "png") {
echo "Zdjęcie: <strong>$plik_nazwa</strong> o rozmiarze <strong>$plik_rozmiar bajtów</strong> zostało dodane!";
}
else {
echo "Plik niepoprawny lub za duży!"; }
}
i wyświetlania
$dir = 'galeria';//katalog
$ile = 5;//ile obrazkow na stronie
$rozszerzenia='jpg gif png jpeg PNG';//dozwolone rozszerzenia
$liczb=3;//nieparzysta liczba, wieksza niż 2, czyli od 3 w gore. jest to liczba linkow do z
mieny stron
if($liczb%2!=1){
if($liczb>3){
$liczb--;
}else{
$liczb=3;
}
}
if($liczb<3){
$liczb=3;
}
$tablica=array();
if(is_dir($dir)){
if ($dh=opendir($dir)) {
while(($file=readdir($dh))!==false){
if(stripos($rozszerzenia,substr(strrchr($file,'.'),1))!==false){
$tablica[]=$file;
}
}
closedir($dh);
}
}
if(isset($_GET['i'])){
$i=$_GET['i'];
}else{
$i=1;
}
$stron=ceil(count($tablica)/$ile);
$message='';
function wyswietl($x){
global $i;
global $message;
if($x==$i){
$message.='<strong><a href="'.$_SERVER['PHP_SELF'].'?i='.$x.'">'.$x.'</a></strong>';
}else{
$message.='<a href="'.$_SERVER['PHP_SELF'].'?i='.$x.'">'.$x.'</a>';
}
}
if($stron<$liczb){
for($x=1; $x<$stron+1; $x++){
wyswietl($x);
}
}elseif($i<ceil($liczb/2)){
for($x=1; $x<$liczb+1; $x++){
wyswietl($x);
}
}elseif($i>$stron-floor($liczb/2)){
for($x=$stron-$liczb+1; $x<$stron+1; $x++){
wyswietl($x);
}
}else{
for($x=($i-floor($liczb/2)); $x<$i+ceil($liczb/2);$x++){
wyswietl($x);
}
}
$tablica=array_slice($tablica, ($i-1)*$ile, $ile);
?>
<?php
//wyswietla obrazki
foreach($tablica as $k => $v){
echo '<a href="'.$dir.'/'.$v.'"><img src="'.$dir.'/'.$v.'" alt="'.$v.'" style="border: 0px; width: 100px; height: 100px" /></a>'; }
?>
<br><br>Strony:
<?php
//wyswietla linki do zmian stron
?>
To wszystko odbywa się w galeria.php
Sorry za duble posta ale chciałbym dostać jak najszybciej odpowiedź, bo przez całą noc nie spałem.
Męczyłem sie i sam wszystko przerobiłem na mySQL. Pliki są uploadowen i do bazy zapisuje się
id opis i nazwa pliku(po przeróbce jest nią 1.jpg ... tylko, że różne rozszerzenia)
Wszystko ok wyświetlają mi się obrazki ale za żadne skarby nie chcą się opisy wyświetlić, po prostu puste miejsce . Kod jest króciutki więc myślę , że nie powinno być teraz problemu z pomocą.
<?php
//wyswietla obrazki
foreach($tablica as $k => $v){
$zapytanie = "SELECT * FROM galeria WHERE sciezka= $v" ;
<table border=1>
<tr><td>
<a href="'.$dir.'/'.$v.'" alt="'.$wiersz['opis'].'"><img src="'.$dir.'/'.$v.'" alt="'.$wiersz['opis'].'" style="border: 0px; width: 100px; height: 100px" /></a>
</td></tr>
<tr><td>';
echo '</td></tr></table>'; }
?>
Błędy pewnie są w kropkach cudzysłowach itd.
Mam nadzieje na szybką reakcje ;]
P.S Wyjaśnienie: w tabeli galeria sieżka to nazwa pliku , opis to opis, numer to id.
$V to nazwa pliku
$dir to lokalizacja(folder)
reszta nie ważna wszystko się dobrze wyświetla tylko te opisy ;/
Ten post edytował prt 4.04.2007, 10:48:22