Skocz do zawartości

Galeria zdjęć


Mar

Rekomendowane odpowiedzi

  • Odpowiedzi 59
  • Dodano
  • Ostatniej odpowiedzi

Nie analizuję kodu ale widzę od razu błędne założenia w tym projekcie !!!

w kwestii

copy("$file", "galeria/$file_name"); /* kopiowanie */
$file = fopen("galeria/$file_name", "w");
To jest zupełnie nie potrzebne do obsługi galerii

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

mihauu Hmm, chyba raczej nie to (sprawdzałem). Bo na moje oko to działa tak, pierwsze kopiuję zdjęcie ze zminnej $file, którą wcześniej wypełnił formularz, robione na przykładzie tutaj.

MMP nie bardzo rozumię, w moim przypadku, wcześniej pobieram ID, które dodaje do adresu: tz. galeria.php?id_zdj=$id_zdj

Mion Jakoś musze zrealizować apload zdjęć, realizuje to na przykładzie, który podałem wyżej, do tego dochodzi, że potrzebuję dwie wersjie plików romiar rządany czyli 500xXXX i miniaturka, co próbuję zrealizować.

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

MMP, dalej jakoś tego nie widzę, jeśli mozesz daj jakiś przykład, to mode ta jakaś funkcja?

.. i bardzo bym prosił o pom przy tych miniaturkach..

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

Oki, dzięki MMP, ale w funkcji i tak muszą sie pojawić zapytania sql, np. takie jak omawane wcześniej.. ale już wiem o co chodzi.

Ale i tak stoje w miejscu, z tymi miniaturkami i uploadem zdjęć, jesli ktoś wie (ma jakis skrypt) prosiłbym o pomoc...

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

U mnie upload zdjęć robię tak:

if (is_uploaded_file($_FILES['zdjecie']['tmp_name']))
{
$zdjecie_nazwa=$_FILES['zdjecie']['name'];
while (@file('./zdjecia/'.$zdjecie_nazwa)) 
{
	$zdjecie_n=explode('.',$zdjecie_nazwa);
	$zdjecie_n[0].=rand(1,9);
	$zdjecie_nazwa=implode('.',$zdjecie_n);
}
if (!move_uploaded_file($_FILES['zdjecie']['tmp_name'], './zdjecia/'. $zdjecie_nazwa)) echo 'Problem: Plik zdjęcia nie może być skopiowany do katalogu'; else {
chmod("./zdjecia/".$zdjecie_nazwa, 0644);
}
}
else echo 'Błąd pobrania pliku zdjęcia.';

wymagany jest katalog tmp

Jest sprawdzanie czy plik o takiej nazwie już istnieje i ewentualna zmiana nazwy nowego kopiowanego pliku.

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jest sprawdzanie czy plik o takiej nazwie już istnieje i ewentualna zmiana nazwy nowego kopiowanego pliku.

Irek, ciekawe rozwiązanie.

Do jednego z serwisów spłodziłem coś co autoamtem zamienia nazwę na numer a przy kolejnych uploadach nadaje plikom kolejne numery

<?

$katalog = "/sciezka/bezposrednia/do/katalogu/z/obrazami/";

 $dirr = dir($katalog);
 $i=0;
 while ($plik = $dirr->read()) {

if ($plik!="." AND $plik!="..") {
	$plik = substr($plik, 0,-4);
		$pliki[] = $plik;
	$i++;
} 
 }	
$dirr->close();

if ($i==0) {
 $ii=1;
} else {
 sort($pliki, SORT_NUMERIC);
 $iw = $i-1;
 $ii = $pliki[$iw]+1;
}

$sciezka_docelowa = $katalog.$ii.".jpg";

if(!@copy($_FILES['plik']['tmp_name'], "$sciezka_docelowa")) {
echo "blad";
}


?>

to tylko przykład dla jpgów ale ogólnie rozwiązanie sprawdza się całkiem fajnie :D

Ale i tak stoje w miejscu, z tymi miniaturkami i uploadem zdjęć, jesli ktoś wie (ma jakis skrypt) prosiłbym o pomoc...

https://phpthumb.sourceforge.net/

Ale lepiej pisać samemu, GD to coś wspaniałego, uploadujesz fotkę, potem robisz z nią praktycznie to co Ci się podoba.

MMP dobrze Ci sugeruje, co do przechodzenia do następnej foty. Np. jesteś na stronie 154, na niej właśnie sprawdzasz jaki poprzedni lub kolejny ID w bazie jest dostępny, jeśli trochę usuwałeś to równie dobrze poprzednim może być 130 a kolejnym 160. Prosty skrypt to wyczai. Co więcej może też wyczajać czy (kolejny/następny) plik istnieje (choć jeśli nie było błędów w uploadzie, usuwaniu to wszystko musi się zgadzać z bazą) Na tej postawie budujesz linki "poprzedni" i "następny" a do tego np. miniatury poprzedniego i kolejnego zdjęcia.

- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Odnośnik do komentarza
Udostępnij na innych stronach

tu masz funkce ktora tworzy Ci pliki z o podanej szerokosci

ja tego uzywam do robienia galerii

ma mylna nazwe miniature, bo najpierw robila tylko miniaturki

function miniature($pict, $dest_pict, $width){

  $handle = @imagecreatefromjpeg($pict);

  $x=imagesx($handle);
  $y=imagesy($handle);

if ($width==560) { $pict = '560_'.$pict; } else { $pict ='mini_'.$pict; }


//tu tworze nazwe w zaleznosci od podanej szerokosci
//pisane na szybko :)

   $size_in_pixel = $width;

	if ($x>$width) { $wsk = ($x/$width); $final_y = ($y/$wsk); }
	else { $wsk = $width/$x; $final_y = ($y*$wsk);}
	$final_x = $width;
	$final_y = ceil($final_y);


   $black_picture = imageCreatetruecolor($final_x,$final_y);
   imagefill($black_picture,0,0,imagecolorallocate($black_picture, 255, 255, 255));
   imagecopyresampled($black_picture, $handle, 0, 0, 0, 0,$final_x, $final_y, $x, $y);

   if(!@imagejpeg($black_picture,$dest_pict.'/'.$pict, 90))
   imagestring($black_picture, 1, $final_x-4, $final_y-8, ".", imagecolorallocate($black_picture,0,0,0));

   imagedestroy($handle);
   imagedestroy($black_picture);
  }

generalnie robie to tak:

ładuje zdjecie,

robie miniaturke i duze zdjecie zeby wszystkie mialy taki sam wymiar

kasuje zaladowane na poczatku zdjecie

i zapisuje wszystko do bazy

pozdro

[bilety lotnicze] [strony www poznań]

"No se ganó Zamora en una hora"

Masz wolne domeny? Zaparkuj je! i zarabiaj!

Odnośnik do komentarza
Udostępnij na innych stronach

O dziekuję wszystkim, po powrocie do domu zabieram się za prace..coś czuje, że kolejna nie przespana noc.

Ale jeszcze takie pytanie, camelleon czy w Twoim skrypcie mogę korzystać, ze zdjęcia wysłanego z formularza? Jak również tutaj widzę, i zdjęcie jest generowane, czyli następnie muszę go jeszcze zapisać, i chyba to jest to o co mi chodzi. Bo tworzy dwa zdjęcia...

.. hmm zdjęcia zapisujesz do bazy danych? No nic póki co pokombinuje.

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

hmm zdjęcia zapisujesz do bazy danych?

zacznij od prostych ale gotowych skryptów

https://pl.php.net/manual/pl/function.imagecreate.php

https://pl.php.net/imagepng

https://pl.php.net/manual/pl/function.imagegif.php

https://pl.php.net/manual/pl/function.imagejpeg.php

zrób kilka prostych testów z PHP, GD i obrazami to w mig zrobisz swoją galerię zdjęć :D

- buduj content metodą drag&drop i łatwo zgarnij SEO backlinki z msDrop

- wideoporadniki jak korzystać z msDrop

Odnośnik do komentarza
Udostępnij na innych stronach

Ale jeszcze takie pytanie, camelleon czy w Twoim skrypcie mogę korzystać, ze zdjęcia wysłanego z formularza?

dokladnie tak tego uzywam

plik ktory dostaje w formularzy przepuszczam przez ta funkcje dwa razy

raz generuje miniaturke, a raz duze zdjecie

na koniec usowam plik ktory zostal dodany w formularzu

hmm zdjęcia zapisujesz do bazy danych?

zle sie wyrazilem, zapisuje do bazy nazwe pliku :)

[bilety lotnicze] [strony www poznań]

"No se ganó Zamora en una hora"

Masz wolne domeny? Zaparkuj je! i zarabiaj!

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności