Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nadpisywanie obrazka
Forum PHP.pl > Forum > Przedszkole
pm161
Witam!

Mam zamiar zabrać się za skrypt, który nadmieni z przykładowo 40 poszczególnych obrazków jeden, GŁÓWNY.

Dla przykładu

Mam 40 różnych obrazków o nazwach od 1 do 40 *.jpg

I jeden główny.jpg

Chciałbym aby skrypt losował jeden z tych 40 obrazków, kopiował i wklejał go jako główny.jpg. Chodzi oto, aby się nie kasował. By za jakiś czas ponownie mógł się nadpisać.

Wszystko było by podpisane pod crona.

Pojęcie o php jakieś tam mam. Googlowałem, ale jednak nie wiem od czego zacząć wink.gif
Proszę o pomoc.
SaMi
Sam sobie odowiedziałeś na pytanie.
Cytat
... Mam 40 różnych obrazków o nazwach od 1 do 40 *.jpg ....
... Chciałbym aby skrypt losował jeden z tych 40 obrazków, kopiował i wklejał go jako główny.jpg , kopiował i wklejał go jako główny.jpg.


Losujesz liczbę od 1 do 40, przypisujesz ją do nazwy pliku i sprawdzasz czy taki plik istnieje (albo pobierasz listę plików z danego katalogu i wtedy wybierasz z tablicy losowo jeden rekord) jeśli istnieje, kopiujesz poddajesz obróbce (np. zmiana rozdzielczosci)
i zapisujesz pod nazwą np. tytulowy.jpg
trueblue
rand() i copy()
pm161
  1. <?php
  2. $nazwa = rand(1, 40);
  3.  
  4. $plik = ''.$nazwa.'.jpg';
  5. $nowyplik = 'glowny.jpg';
  6.  
  7. if (!copy($plik, $nowyplik)) {
  8. echo "Zamiana $plik, nie powiodła się";
  9. }
  10. ?>


Wytworzyłem na szybko taki kod. Było by ok? Niestety teraz sprawdzić nie mogę.
SaMi
Tak, to co napisałeś powinno zadziałać
tylko drobna sugestia, zamiast
  1. $plik = ''.$nazwa.'.jpg';

wystarczy
  1. $plik = $nazwa.'.jpg';
pm161
Dziękuję za poprawienie smile.gif

Ok, losowanie obrazka by było. A teraz jakbym chciał, żeby przy każdym wywołaniu, obrazek który się nadmieni jest według kolejności?

pierwsze wywołanie - 1.jpg , drugie - 2.jpg

Pętla?
markuz
Sesje.
pm161
Nie miałem z tym nigdy do czynienia sad.gif Jakieś propozycje? Chodzi o przykładowy kod.
markuz
klik
pm161
Nie rozumiem co by to miało wspólnego z wywoływaniem cron...
markuz
A w jaki sposób twój skrypt ma wiedzieć które zdjęcie wyświetlić? Czy 1 czy 8 czy też 15? Musisz utworzyć sesje przechowywującą ten numer i przy każdym wywołaniu skryptu powiększać ją (dopóki nie osiągnie maksymalnej wartości - wtedy zmieniejasz ją do 0 lub 1 (w zależności od tego jak napiszesz skrypt)).
pm161
  1.  
  2. if (!isset($_SESSION['count']) or $_SESSION['count'] ==40)
  3. {
  4. $_SESSION['count'] =1;
  5. }
  6. else
  7. {
  8. $_session ['count'] ++;
  9. }
  10.  
  11.  
  12. echo 'Strona odczytana '.$_SESSION['count'].' razy w ciągu tej sesji';


Zrobiłem na razie tak, aby po 40 na nowo liczyło. Lecz niestety licznik zatrzymuje się na 1 sad.gif
Xart
  1. $_SESSION['count'] =1;
  2. }
  3. else
  4. {
  5. $_SESSION['count'] ++;


a nie dajesz spacje przed tablicą...
$_session ['count'] ++;
Turson
$_SESSION a $_session to nie to samo
pm161
Dzięki za poprawienie błędów. Jak mówilem na początku. Nie mogłem sprawdzać czy działa. Jedynie na echo... Dziękuję za pomoc!
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.