Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> linki a'la ForceType
krysk
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Witam! (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

czy jest możliwość w samym php odczytanie danych po ukośniku ?
chciałbym np. z linka http://example.com/bla pobrać właśnie te bla dobrze by było, gdybym mógł też odczytać http://example.com/bla/.
Wyświetla mi sie error 404 oczywiście. Czy bez użycia htaccess coś zdołam zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
e4you
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 10.03.2004
Skąd: K-ce

Ostrzeżenie: (50%)
XXX--


uzyj [manual:af593ac8dd]substr[/manual:af593ac8dd]
przykladowa domena to http://example.com/bla

[php:1:af593ac8dd]<?php

$n1="tutaj bieżacy adres strony"; // $PHPSELF
$n = substr("$n1", 19); //zwraca bla
echo "$n";

?>[/php:1:af593ac8dd]

zwraca wszystko oprucz 19 pierwszych znakow.

troszke prymitywne ale powinno byc ok
Go to the top of the page
+Quote Post
matys
post
Post #3





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 7.03.2004
Skąd: Szczecin|Bukowe

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


Tu masz cały przykład z manuala:
[php:1:05808f4bcc]
<?php
$rest = substr("abcdef", 1); // returns "bcdef"
$rest = substr("abcdef", 1, 3); // returns "bcd"
$rest = substr("abcdef", 0, 4); // returns "abcd"
$rest = substr("abcdef", 0, 8); // returns "abcdef"

// Accessing via curly braces is another option
$string = 'abcdef';
echo $string{0}; // returns a
echo $string{3}; // returns d
?>
[/php:1:05808f4bcc]
Go to the top of the page
+Quote Post
Liko
post
Post #4





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Hmm. Zrobiłem cos takiego.
[php:1:16630ea5a9]<?php
$varArray = array();
$varString = $_SERVER['PATH_INFO'];
echo $varString."<br />";
$varArray = explode("/", $varString);
foreach($varArray as $varValue) {
if( $varValue != '' ) {
$i++;
echo "$i -> $varValue<br />";
}
}
?>[/php:1:16630ea5a9]

Wtedy zapisujesz ten plik pod nazwą np. index.php i wpisujesz adres:
www.domena.pl/index/tutaj_wartosc/tutaj_wartosc/

Itd.
Go to the top of the page
+Quote Post
zeulus
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 3
Dołączył: 17.05.2004
Skąd: Nowhere Land

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


a ja bym zrobil cos takiego:

[php:1:92adbea08c]<?php
$adres = "http://furum.php.pl/olaboga";
$adres = substr($adres,7); //teraz chyba tam bedzie "forum.php.pl/olaboga" bo poza 'http://'
//i teraz explode:
$tablica = explode($adres,'/');
//teraz $tablica[0] == "forum.php.pl", $tablica[1] == "olaboga"
?>[/php:1:92adbea08c]
chyba to by bylo na tyle ... :)
Go to the top of the page
+Quote Post
Liko
post
Post #6





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


A skad wiesz ile bedzie ukosnikow po linku ? Skad wiesz ile wartosci bedzie chciał przekazac ? Nic tu ustawiasz wszystko na sztywno. Tutaj daje taki kod po ktorym bedziesz wiedział co i jak działa:
[php:1:5946f5bd1a]<?php
$varArray = array();
$adres = array();
$varString = $_SERVER['PATH_INFO'];
echo "Adres:<b> ".$varString."</b><br /><br>";
$varArray = explode("/", $varString);
foreach($varArray as $varValue) {
if( $varValue != '' ) {
$i++;
echo "$i -> $varValue<br />";
$adres[$i] = $varValue;
}
}
echo "<br><br>Tablica ze zmiennymi:<br><br> ";
foreach($adres as $key => $Value) {
echo "<b>$key</b> => <b>$Value</b><br>";
}
?>
[/php:1:5946f5bd1a]

Plik musisz zapisac np w index.php i wywołujesz adres tak:
www.domena.pl/index/pierwsza_wartosc/druga_wartosc/trzecia_wartosc/

Itd. Skrypt tworzy tablice, przy czym wartosc w adresie jest zapisana w tablicy pod indexem tym co w adresie. Czyli do "pierwsza_wartosc" odwołujemy sie przez "$adres[1]" do drugiej wartosci "$adres[2]" itd.
Go to the top of the page
+Quote Post
zeulus
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 3
Dołączył: 17.05.2004
Skąd: Nowhere Land

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


Cytat
A skad wiesz ile bedzie ukosnikow po linku ? Skad wiesz ile wartosci bedzie chciał przekazac ? Nic tu ustawiasz wszystko na sztywno.


hmm... no bedzie sprawdzal :)
[php:1:d34795fef9]<?php
for ($i=0;$i<count($tablica);$i++) {
echo $tablica[$i] ."<br>";
}
?>[/php:1:d34795fef9]
Go to the top of the page
+Quote Post
e4you
post
Post #8





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 10.03.2004
Skąd: K-ce

Ostrzeżenie: (50%)
XXX--


w moim przypadku jest chyba najkorzystniej bo moze sobie wytnac obojetnie jaka ilosc znanow...
Go to the top of the page
+Quote Post
krysk
post
Post #9





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Właśnie mi chodzi, abym nie musiał wpisywać
http://example.ciom/index/bla
bo ten sposób znam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) To jest przecież ForceType.
Chodzi mi o to, abym nie musiał podawać index (ma wyglądać jak bym chciał uzyskać dostęp do katalogu bla, a w rzeczywistości przekazać bla do skryptu jako zmienną).
Go to the top of the page
+Quote Post
krysk
post
Post #10





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Nikt nie wie? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Bakus
post
Post #11


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


moim zdaniem możesz wykorzystać ErrorDocument...
dla przykładu:
ErrorDocument /index.php

w index.php sprawdzasz referer i z niego wyciągasz w w/w sposób zmienne...

Nie jestem pewien, czy to będzie działać przy wszystkich ustawieniach przeglądarek (np. w przypadku gdy przeglądarka blokuje referery), ale teoretycznie to działa... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Chociaż na dobrą sprawę w przypadku ErrorDocument chyba serwer generuje referera, więc powinno działać zawsze...
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: 23.08.2025 - 09:05