Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Wyświetlanie obrazków, Wyswietlanie tylko na stronie
Daimos
post
Post #1





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


mam includowany plik na roznych stronach, chcialem sie zapytac jak zrobic, zeby nie otwieral sie on jezeli ktos wpisze bezposrednia do niego sciezke.
probowalem tak:

  1. <?php
  2. $plikadres=$_SERVER['REDIRECT_URL'];
  3. if(ereg(&#092;"nazwaplikunaktorymjestincludowanastrona\", $plikadres)){
  4. ok
  5. }
  6. esle{
  7. blad
  8. }
  9.  
  10. ?>

ale to nie dziala

Dodam jeszcze bo moze to jest istotne
w pliku index.php includuje plik xxx.php a w pliku xxx.php jest includowany plik zzz.php i chce zeby plik zzz.php wyswietlal sie dalej na stronie, ale jak ktos wpisze sciezke bezposrednia do tego pliku to go nie zobaczy

Ten post edytował buffalo soldier 30.03.2005, 19:42:28
Go to the top of the page
+Quote Post
Wave
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


Można zrobić tak:
index.php
  1. <?php
  2. $a = 'index'; 
  3. include('strona.inc');
  4. ?>

strona.inc
  1. <?php
  2. if($a != 'index' || $_SERVER['REQUEST_METHOD'] == 'GET' || $_SERVER['REQUEST_METHOD'] == 'POST') header(&#092;"Location: index.php\");
  3. ?>


Ten post edytował Wave 28.03.2005, 18:53:40
Go to the top of the page
+Quote Post
Ociu
post
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




1. Dajesz na tych stronach co chcesz przez nich includować:
  1. <?php
  2. define(&#092;"STALA\", TRUE);
  3. ?>

i potem w tym, co nie chcesz żeby był dolecowy:
  1. <?php
  2. if(!defined('STALA'))
  3. {
  4. die(&#092;"Error !\");
  5. }
  6. ?>

2. Robisz ciacho.

Ten post edytował Ociu 28.03.2005, 20:09:52
Go to the top of the page
+Quote Post
Daimos
post
Post #4





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


nie dziala nic z tego ;(

chodzi o to ze na stronie mam includowany plik obrazki.php
w ktorym jest wyswietlana galeria, adres obrazka to rysowanie.php?a=jakaszmienna

Chce zeby nie ladowal sie obrazek jak ktos wpisze bezposredni adres takiego obrazka
Tylko i wylacznie ma sie wyswietlac gdy jest includowany w pliku obrazki.php

zrobilem plik rysowanie.php tak
  1. <?php
  2. if($aqwer != 'index' || $_SERVER['REQUEST_METHOD'] == 'GET' || $_SERVER['REQUEST_METHOD'] == 'POST'){ header(&#092;"Location: index.php\"); }
  3. else{
  4. $pliczek = $_GET['d'];
  5. $dd = $_GET['c'];
  6. header(&#092;"HTTP/1.1 202 Accepted\");
  7. Header(&#092;"Content-type: image/Jpeg\");
  8. header(&#092;"Content-Disposition: attachment; filename=$dd\");
  9. $obraz=ImageCreateFromJpeg(&#092;"$pliczek\");
  10. ImageJpeg($obraz);
  11. ImageDestroy($obraz);
  12. }
  13. ?>

w pliku obrazki.php i w tym na ktorym jest includowany obrazki.php umiescilem:
  1. <?php
  2. $aqwer = 'index';
  3. ?>


no i nie rysuje mi wcale obrazkow (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował buffalo soldier 29.03.2005, 14:35:07
Go to the top of the page
+Quote Post
kszychu
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Schowaj te obrazki w miejsce, w które tylko php będzie miało dostęp a apache nie. I po co kombinować...
Go to the top of the page
+Quote Post
Daimos
post
Post #6





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


obrazki sa w postaci rysowanie.php?a=aslkdjasd
wiec nikt i tak nie zna miejsca docelowego obrazkow

chodzi o to ze jak ktos wpisze adres do pliku rysowanie.php?a=aslkdjasd
to odpali mu sie obrazek, a chce zeby wyswietlil mu sie komunikat, ze obrazki mozna ogladac tylko ze strony
Go to the top of the page
+Quote Post
-buffaloo-
post
Post #7





Goście







widzialem takie cos na roznych stronach wiec chyba jest to mozliwe (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) to pomoze ktos ? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
hesus
post
Post #8





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 24.03.2005

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


Zarejestruj zmienną w sesji jeśli strona jest odpalona np:
  1. <?php
  2.  
  3. $strona_odpalona='TAK';
  4. if (!session_is_registered('strona_odpalona')) session_register('strona_odpalona');
  5.  
  6. ?>

a przy każdym uruchamianiu skryptu ją usuwaj:
  1. <?php
  2.  
  3. if (session_is_registered('strona_odpalona')) {
  4. session_unregister('strona_odpalona');
  5. // ...inne instrukcje...
  6. }
  7. else echo &#092;"Zjęcia można oglądać tylko ze strony\";
  8.  
  9. ?>
Go to the top of the page
+Quote Post
kszychu
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


A nie można by tu pokombinować z referrerem?
Go to the top of the page
+Quote Post
Daimos
post
Post #10





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


kombinowalem baaardzo dlugo, z 20 godzin w sumie siedzialem nad tym (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i nic, a z php fenomenem nie jestem

Ten post edytował buffalo soldier 30.03.2005, 15:06:23
Go to the top of the page
+Quote Post
Spirit86
post
Post #11





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Cytat(Ociu @ 2005-03-28 19:09:11)
1. Dajesz na tych stronach co chcesz przez nich includować:
  1. <?php
  2. define(&#092;"STALA\", TRUE);
  3. ?>

i potem w tym, co nie chcesz żeby był dolecowy:
  1. <?php
  2. if(!defined('STALA'))
  3. {
  4. die(&#092;"Error !\");
  5. }
  6. ?>

2. Robisz ciacho.

hehe, stary sprawdzony PHPBB (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ja to mam zrobione tak:

  1. <?
  2. if (eregi(&#092;"nazwa.php\", $_SERVER['PHP_SELF'])) die('Czego tu chcesz?'); 
  3. ?>
Go to the top of the page
+Quote Post
Daimos
post
Post #12





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


probowalem juz tak zrobic, ale sprawa wyglada tak:
mam plik tapety.php, w nim jest za pomoca include icludowany plik obrazki.php
w pliku obrazki php NIE JEST INCLUDOWANY plik rysowanie.php tylko jest wyswietlany w postaci:
  1. <img src=rysowanie.php?d=aaa>

jakby plik rysowanie.php byl includowany normalnie to nie bylo by problemu i wszystko by dzialalo ale zauwazylem ze jak jest wklejony jako obrazek to nie pobiera zadnych zmiennych (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
ktos wie co z tym mozna zrobic ?

cookies odpadaja bo jak ktos odpali najpierw strone gdzie beda umieszczane ciasteczka to potem bedzie mogl wyswietlic normalnie obrazek wpisujac adres do niego, a chce zeby obrazki wyswietlane byly tylko tylko i wylacznie na stronie

Ten post edytował buffalo soldier 30.03.2005, 15:42:39
Go to the top of the page
+Quote Post
Diwi
post
Post #13





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Zamiast błędów zrób sobie z tego kodu do wyświetlania funkcje:

  1. <?php
  2. function pokaz_obrazek($obrazek) {
  3. $pliczek = $obrazek;
  4. $dd = $obrazek;
  5. header(&#092;"HTTP/1.1 202 Accepted\");
  6. Header(&#092;"Content-type: image/Jpeg\");
  7. header(&#092;"Content-Disposition: attachment; filename=$dd\");
  8. $obraz=ImageCreateFromJpeg(&#092;"$pliczek\");
  9. ImageJpeg($obraz);
  10. ImageDestroy($obraz);
  11. }
  12. ?>


No a potem wystarczy że sobie includujesz ten plik

  1. <?php
  2. include('nazwa-pliku.php');
  3.  
  4. pokaz_obrazek($_GET['c']);
  5. ?>


No a potem w plikach które nie chcesz żeby były dostępne z poziomu przeglądarki czyli mogą być tylko includowane przez inne skrypty wpisujesz sobie kod php:

  1. <?php
  2. if (eregi('nazwa-pliku.php', $_SERVER['PHP_SELF'])) {
  3. exit('A co ty tu robisz !!');
  4.  
  5. }
  6. ?>


Jeżeli dobrze zrozumiałem co chcesz osiągnąć to to powinno ci pomóc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam

Ten post edytował Diwi 30.03.2005, 16:11:41
Go to the top of the page
+Quote Post
Daimos
post
Post #14





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


zrobilem tak i jest prawie to o co mi chodzilo
tylko ze zrobilem taki test:
  1. <?
  2. include(&#092;"plik.php\");
  3. echo 'asdadasdasdadasd<img src='.pokaz_obrazek(&#092;"1.jpg\").'>';
  4. ?>

w efekcie wyswietla sie sam obrazek, bez tego asdadasdasdadasd
i co teraz ? ;p
Go to the top of the page
+Quote Post
Diwi
post
Post #15





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Spróbuj sobie roździelić polecenia echo i wpisz coś takiego
  1. <?php
  2. include('plik.php');
  3. echo 'asdadasdasdadasd';
  4. echo '<img src='.pokaz_obrazek(&#092;"1.jpg\").'>';
  5. ?>
  6.  
  7. Jak to nie pomoże to spróbuj tak (nie wiem czy to pomoże :) ):
  8.  
  9. <?php
  10. echo 'asdadasdasdadasd n';
  11. echo '<img src='.pokaz_obrazek(&#092;"1.jpg\").'>';
  12. ?>
Go to the top of the page
+Quote Post
Daimos
post
Post #16





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


zrobilem tak i w wyniq otrzymalem :
  1. <?php
  2.  
  3. Warning: Cannot modify header information - headers already sent by (output started at c:&#092;usrkrasnalwwwi1.php:3) in c:usrkrasnalwwwi2.php on line 3
  4.  
  5. Warning: Cannot modify header information - headers already sent by (output started at c:&#092;usrkrasnalwwwi1.php:3) in c:usrkrasnalwwwi2.php on line 4
  6. ˙Ř˙ŕ
  7. // i dalej kod obrazka;) smieszne znaczki
  8.  
  9. ?>

pozatym chcialem wstawic funkcje w tlo tabelki i efekt:
  1. <table background="">

a tam powinien chyba byc adres (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Diwi
post
Post #17





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


wstaw na samym początku przed <?php kod

start_ob();

i na końcu przed ?>

ob_end_flush();

Powinno już nie być problemów z
Warning: Cannot modify header ...

A co do <table background="">

To jak masz tą funckje to powinieneś jej używać tak

  1. <?php
  2. echo '<table background=\"'.pokaz_obrazek(&#092;"adres obrazka np. images/tlo.jpg\").'\">'
  3. ?>


Spróbuj wszystko poprawic tak jak tu podałem i powiedz co ci pokazuje skrypt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Edit:
Zmień sobie funkcje na taką:
  1. <?php
  2. function pokaz_obrazek($obrazek) {
  3. $pliczek = $obrazek;
  4. $dd = $obrazek;
  5. header(&#092;"HTTP/1.1 202 Accepted\");
  6. Header(&#092;"Content-type: image/Jpeg\");
  7. header(&#092;"Content-Disposition: attachment; filename=$dd\");
  8. $obraz=ImageCreateFromJpeg(&#092;"$pliczek\");
  9. ImageJpeg($obraz);
  10. ImageDestroy($obraz);
  11. return $obraz;
  12. // powinno to wszystko działać :) jak nie to napisz następnego posta 
  13. }
  14.  
  15. ?>




Pozdrawiam

Ten post edytował Diwi 30.03.2005, 16:49:37
Go to the top of the page
+Quote Post
Daimos
post
Post #18





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


  1. <?php
  2. function pokaz_obrazek($obrazek) {
  3. $pliczek = $obrazek;
  4. header(&#092;"HTTP/1.1 202 Accepted\");
  5. Header(&#092;"Content-type: image/Jpeg\");
  6. $obraz=ImageCreateFromJpeg(&#092;"$pliczek\");
  7. ImageJpeg($obraz);
  8. ImageDestroy($obraz);
  9. return $obraz;
  10. // powinno to wszystko działać :) jak nie to napisz następnego posta
  11. }
  12.  
  13. ?>
zrobilem tak i wyswietla mi obrazek, tylko dalej problem:
taki kod zrobilem:
  1. <?
  2.  
  3. include(&#092;"2.php\");
  4. echo '<img src='.pokaz_obrazek(&#092;"1.jpg\").'><img src='.pokaz_obrazek(\"1.jpg\").'><img src='.pokaz_obrazek(\"1.jpg\").'><img src='.pokaz_obrazek(\"1.jpg\").'>';
  5. echo 'asdadasdasdadasd';
  6.  
  7. ?>
powinno wyswietlic ten obrazek kilka razy i tekst, a wyswietla tylko obrazek, pozatym z header dalej problem, teraz go niemam bo przed narysowaniem obrazka nic nie wysylam, a jak umiescilem te funkcje ob to otrzymalem takie cos:
Kod
Fatal error: Call to undefined function: start_ob() in c:\usr\krasnal\www\i\1.php on line 2


co do tabelki to dokladnie tak uzylem tej funkcji i nie dziala

Ten post edytował buffalo soldier 30.03.2005, 16:58:18
Go to the top of the page
+Quote Post
Diwi
post
Post #19





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

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


Sorry pomyłka nie start_ob() tylko ob_start(). Czeski błąd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Daimos
post
Post #20





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


plik 1.php
  1. <?
  2. include(&#092;"2.php\");
  3. echo 'asdadasdasdadasd';
  4. echo '<img src='.pokaz_obrazek(&#092;"1.jpg\").'><img src='.pokaz_obrazek(\"1.jpg\").'>';
  5.  
  6. ?>

plik 2.php
  1. <?php
  2. function pokaz_obrazek($obrazek) {
  3. $pliczek = $obrazek;
  4. header(&#092;"HTTP/1.1 202 Accepted\");
  5. header(&#092;"Content-type: image/Jpeg\");
  6. $obraz=ImageCreateFromJpeg(&#092;"$pliczek\");
  7. ImageJpeg($obraz);
  8. ImageDestroy($obraz);
  9. return $obraz;
  10. }
  11. ?>

rezultat:
Kod
Obrazek "http://127.0.0.1/~i/1.php" nie może zostać wyświetlony, ponieważ zawiera błędy.



Zrobilem tak jak napisal hesus:
  1. <?php
  2.  
  3. $strona_odpalona='TAK';
  4. if (!session_is_registered('strona_odpalona')) session_register('strona_odpalona');
  5.  
  6. ?>
z sesjami, wyswietlany obrazek niszczy sesje. No i jest pieknie, ale jak na stronie jest wyswietlany jeden obrazek, jak jest ich wiecej to i tak wyswietli sie tylko ten jeden (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował buffalo soldier 30.03.2005, 17:23:10
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 14.09.2025 - 16:15