2017-03-29 2 views
0

Ich entwickle API für meine Firma. Normalerweise verwenden wir POST & GET-Methode, um Formulardaten an andere Website oder eine andere Seite zu senden. Aber was ich will, wenn wir Daten in URL wie senden möchten http://www.example.com/data1/data2/data3So nehmen Sie Daten von URL

so. In diesem Fall sind Data1, Data2, Data3 unsere Daten und ich möchte diese Daten in PHP. Ich suche das, aber ich kann nicht finden, was ich will.

+0

Sie müssen den Rewrite-Modus in Ihrer .htaccess-Datei hinzufügen – Akintunde007

+0

Sie fragen, wie Sie die URL in PHP zu analysieren? - sonst wären alle unten vielleicht in der richtigen Spur ... –

Antwort

2

Schauen Sie in Apache mod_rewrite (http://httpd.apache.org/docs/current/mod/mod_rewrite.html).

Sie können data1/data2/data3 in ?thing1=data1&thing2=data2&thing3=data3 umschreiben, dann $_GET wie Sie normalerweise tun würde verwenden ...

+0

Das ist allerdings Webserver spezifisch. –

+0

Jetzt greife ich auf Daten mit der GET-Methode zu, möchte aber die GET-Methode nicht verwenden. –

+0

OP, es scheint, als ob Sie auf die Daten innerhalb von PHP zugreifen möchten, aber Sie möchten, dass die URLs hübsch aussehen, oder? Dafür steht 'mod_rewrite'. Es nimmt Ihre hübschen URLs und wandelt sie in eine Abfragezeichenfolge um, damit PHP die Daten parsen kann ... Gill, Sie haben Recht, aber haben keine Ordnerstruktur, die jede mögliche Kombination von Daten berücksichtigt, die eingereicht werden könnten (einschließlich falscher Daten) ?) mit einem PHP-Skript am unteren Rand jedes Knotens, ich weiß nicht, wie Sie es ohne 'mod_rewrite' machen. –

1

Was Sie suchen, URL aufgerufen wird Umschreiben, die von allen wichtigen Web-Server wie Apache und nginx unterstützt wird.

Um mehr über URL-Rewriting in Apache zu lesen gehen thorugh: https://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049

Um mehr über saubere Urls in NGINX durch https://serverfault.com/questions/653177/clean-url-with-several-params-in-nginx

In Apache-Server sauber URLS durch Aktivierung eines Moduls mod_rewrite genannt erreicht werden gehen zu lesen und eine einfache Möglichkeit ist die Verwendung der .htaccess-Datei.

In nginx können Sie die Datei web.config verwenden.

Nach sauberen URLs können Sie eine beliebige Methode von GET, PUT, POST, PATCH, DELETE etc. verwenden. Denken Sie jedoch daran, wenn der Benutzer Ihre URL in Ihrem Browser eingibt, dann ist es immer eine GET-Anfrage.

1

Sie können es tun, indem Sie einfach die gesamte URL holen und preg_split() die Zeichenfolge wie unten Code

$path = $_SERVER['REQUEST_URI']; // this gives you /folder1/folder2/THIS_ONE/file.php 
$folders = preg_split('/', $path); // splits folders in array 
$what_we_need = $folders[3]; 
+0

Dies erfordert eine Ordnerstruktur, die jede mögliche Kombination von Daten berücksichtigt, die mit einem PHP-Skript am unteren Ende jedes Knotens eingereicht werden könnten (einschließlich falscher Daten?). Will OP das? –

Verwandte Themen