Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][rewrite][cron]Rotator
Skicek
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


Witam,
Stworzylem sobie rotator grafiki ktory pod jednym adresem ma zmieniac grafike. Tzn jeden link odwolujacy sie do skryptu php ktory za pomoc mod rewrite jest "zmieniony" na plik jpg. Skrypt za pomoca switcha zmienia obrazek raz na dzien (przy uzyciu crona).
Wszystko ladnie dziala do momentu wrzucenia adresu na forum np w sygnaturze jako [img], poprostu nie wyswietla sie obrazek.

Moje pytanie jest takie czy wogole jest mozliwe dzieki temu co uzylem stworzenia takiego czegos? oraz dlaczego mi nie dziala. Podawac kodu raczej chyba nie musze skoro dziala normalnie poprzez wpisanie bezposredniego adresu zrewritowanego skryptu.
Go to the top of the page
+Quote Post
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Jak generujesz tę grafikę ? Jako element img w DOM czy wyrzucasz odpowiednie nagłówki czy tez po prostu jest to adres odwołujący się bezpośrednio do fizycznie istniejącego pliku ?
Go to the top of the page
+Quote Post
Skicek
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


sa to adresy bezposrednio do plikow zmieniajace sie po nazwie pliku
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




W ciemno, to możemy się najwyżej potknąć.

Za mało informacji podałeś, zwłaszcza w jaki sposób generujesz obrazek.
Go to the top of the page
+Quote Post
Skicek
post
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


powyzej napisalem skad jest obrazek.

Sa obrazki ponumerowane
skrypt pobiera numer obrazka
wyswietla go
mija dzien cron wykonuje drugi skrypt zwiekszajacy index obrazka
skrypt pobiera zwiekszony numer obrazka
wyswietla go

i tak w kolko. Wszystko dziala oprocz gdy umiesci sie obrazek na np forum w tagach bbcode wtedy wyswietla niepoprawna sciezke obrazka, ktora jest defakto poprawna bo gdy sie ja skopiuje i wpisze bezposrednio do przegladarki to wyswietla obrazek
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No fajnie, że podałeś kod.
Go to the top of the page
+Quote Post
by_ikar
post
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Skicek @ 4.01.2012, 00:19:40 ) *
powyzej napisalem skad jest obrazek.

Sa obrazki ponumerowane
skrypt pobiera numer obrazka
wyswietla go
mija dzien cron wykonuje drugi skrypt zwiekszajacy index obrazka
skrypt pobiera zwiekszony numer obrazka
wyswietla go

i tak w kolko. Wszystko dziala oprocz gdy umiesci sie obrazek na np forum w tagach bbcode wtedy wyswietla niepoprawna sciezke obrazka, ktora jest defakto poprawna bo gdy sie ja skopiuje i wpisze bezposrednio do przegladarki to wyswietla obrazek


Jeżeli twój skrypt wyświetla link do obrazka, i osadzisz swój skrypt w tagach bbcode czy w html, to html lub bbcode musiał by wejść pod link który mu dałeś (link do rotatora) a następnie jeszcze raz wejść pod link który wyświetli rotator.

Zobacz jak to jest tutaj na tym forum zrobione: http://forum.php.pl/style_images/top/rotator_logo.php Jest link do skryptu, ale ten skrypt bezpośrednio wyświetla obrazek, a nie wyświetla jak u ciebie link do tego obrazka. Taka jest różnica. No, przynajmniej tyle zrozumiałem z tego co napisałeś..
Go to the top of the page
+Quote Post
Skicek
post
Post #8





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


chyba nie zrozumiałem tego co napisałeś by_ikar, albo ty nie zrozumiałeś co ja napisałem (IMG:style_emoticons/default/tongue.gif)

więc napisze jeszcze raz dokładnie krok po kroku co się dzieje.

są 3 pliki i x plików graficznych
1plik skrypt wyświetlający obrazek (jako obrazek, nie link obrazku)
2plik wykonywalny przez crona zwiększający numer obrazka w pliku 3
3plik zwykły plik z numerem obrazka, który jest przekazywany do 1 pliku (by ten wiedział jaki obrazek ma wyświetlić)

wiec:
jest wyświetlony obrazek nr 1
mija dzień
cron poprzez plik 2 zwiększa numer obrazka na 2
plik 3 zostaje zmieniony na 2
plik 1 pobiera nowa wartość 2 i wyświetla obrazek nr 2
itd.

dajac adres do skryptu w bbcode (skrypt ma zmieniony adres dzięki mod rewrite na koncowke z jpg - wszystko działa normalnie po tym adresie, jak się wejdzie w niego bezpośrednio), to wyświetla brak obrazka.
Go to the top of the page
+Quote Post
by_ikar
post
Post #9





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat
albo ty nie zrozumiałeś co ja napisałem


Nie tylko ja tego nie zrozumiałem, bo tak żeś to napisał.

Z tego co teraz już mi wiadomo, wyświetlasz obrazek poprzez skrypt. I tyle wiemy, a czy nie ma tam jakiegoś błędu (brak kodu), lub możliwości tego sprawdzenia chociaż pobieżnie (brak linku), sprawia że nikt ci nie da odpowiedzi, bo to jest forum programistów, a nie wróżbitów.
Go to the top of the page
+Quote Post
Skicek
post
Post #10





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


http://www.runescape.pc.pl/banner400x150.jpg adres do obrazka ktory sie rotatuje.


  1. <?php
  2. $i=file_get_contents('nr.txt');
  3.  
  4.  
  5. switch($i){
  6.  
  7. case 1:
  8. echo "<img src='rotator/img/1.jpg'>";
  9. break;
  10. case 2:
  11. echo "<img src='rotator/img/2.jpg'>";
  12. break;
  13. case 3:
  14. echo "<img src='rotator/img/3.jpg'>";
  15. break;
  16. case 4:
  17. echo "<img src='rotator/img/4.jpg'>";
  18. break;
  19. default:
  20. echo "<img src='rotator/img/1.jpg'>";
  21. }
  22. ?>


  1. <?php
  2. $nr = file_get_contents('nr.txt');
  3.  
  4. if ($nr>=4) {
  5. $nr=1;
  6. }
  7. else{
  8. $nr++;
  9. }
  10. $nrp = fopen("nr.txt", "w");
  11. fwrite($nrp,"$nr");
  12. fclose($nrp);
  13.  
  14.  
  15. ?>


Go to the top of the page
+Quote Post
by_ikar
post
Post #11





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Kod
Nagłówki odpowiedzi
Date    Wed, 04 Jan 2012 13:15:10 GMT
Server    Apache
Vary    Accept-Encoding,User-Agent
Content-Encoding    gzip
Content-Length    91
Keep-Alive    timeout=1, max=100
Connection    Keep-Alive
Content-Type        text/html


A dokładnie ostatnia linijka: Content-Type text/html

Widzisz, odpowiedź miałbyś od razu, jakbyś chociaż link podał (IMG:style_emoticons/default/wink.gif) wstaw do tego swojego skryptu:

  1. header('Content-Type: image/jpg');


Tylko na początku tego skryptu.

EDIT: wróć! nie popatrzałem nawet na twój skrypt, tylko od razu w nagłówki zajrzałem. Chłopie, przecież ty wyświetlasz html! Zobacz sobie źródło strony: http://www.runescape.pc.pl/banner400x150.jpg

  1. <a href='http://www.runescape.pc.pl'><img src='rotator/img/4.jpg'></a>


Inaczej powinieneś to zrobić, zamiast html, wyświetlić od razu grafikę. Stosownych tematów od tego na forum jest zylion. Znasz już źródło problemu, dobrze myślałem że wyświetlasz link, a nie grafikę (IMG:style_emoticons/default/wink.gif)

Ten post edytował by_ikar 4.01.2012, 14:22:18
Go to the top of the page
+Quote Post
Uriziel01
post
Post #12





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


No więc jest dokładnie tak jak myślałem początkowo. Generujesz obiekt DOM a nie obraz, nie ma prawa to w ten sposób działać. Musisz sprawić aby serwer w momencie wejścia na ten link zwracał nagłówek taki jak obraz. A żeby zrobić z tego sygnaturke na forum musisz ręcznie przy edycji sygnatury przypisać do tego adresu link.

Wstawienie samego header('Content-Type: image/jpg'); oczywiście nic mu tutaj nie da. Zobacz że on generuje link nie sam obraz.Zamiast kodu HTML musisz wyświetlać zawartośc tego obrazu, lub tak przepisać plik .htaccess aby wskazywał na statyczny plik .jpg nie na skrypt w php

Ten post edytował Uriziel01 4.01.2012, 14:23:46
Go to the top of the page
+Quote Post
by_ikar
post
Post #13





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat
Wstawienie samego header('Content-Type: image/jpg'); oczywiście nic mu tutaj nie da. Zobacz że on generuje link nie sam obraz.Zamiast kodu HTML musisz wyświetlać zawartośc tego obrazu, lub tak przepisać plik .htaccess aby wskazywał na statyczny plik .jpg nie na skrypt w php


Tak, zauważyłem to jak tylko wszedłem w źródło strony i dałem edita, że z tym html to jest tak jak zarówno ty myślałeś i w sumie ja.
Go to the top of the page
+Quote Post
Skicek
post
Post #14





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 19.09.2011

Ostrzeżenie: (0%)
-----


ok, dzięki za wszystko (IMG:style_emoticons/default/smile.gif) przerobiłem kod i działa teraz pięknie i ładnie

można zamknąć
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.08.2025 - 17:14