Base64 kann Binärzeichen für die HTTP-Übertragung in sichtbare Zeichen umwandeln, aber bei der Base64-Transkodierung werden „+“, „/“, „=" generiert, die durch die URL-Sonderzeichen transkodiert werden. Dies führt zu Inkonsistenzen in den beiden Aspekten der Daten.
Wir können „+“, „/“ und „=" durch Zeichen ersetzen, die vor dem Senden nicht in der URL transkodiert werden. Nach Erhalt der Daten können wir diese Zeichen wieder ersetzen und dann dekodieren.
1. URL-sichere String-Kodierung:
function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; }
2. URL-sichere String-Dekodierung:
function urlsafe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); }
Empfohlenes Tutorial: " PHP-Tutorial"
Das obige ist der detaillierte Inhalt vonWie kodiert und dekodiert PHP Base64 URL-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!