note 78142 added to language.variables.predefined
| From: | fabrizioatbibivudotcom at osu1 dot php dot net | Date: | Sat, 29 Sep 2007 22:52:57 +0000 |
| Subject: | note 78142 added to language.variables.predefined | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-130936@lists.php.net to get a copy of this message | ||
Here is my function optimized some more...
<?php
/**
* This function will fill the _GET global variable
*
* @access private
* @param void
* @return void
*/
private function _fill_GET(){
/**
* This function converts info.php/a/1/b/2/c?d=4 TO
* array ( [d] => 4 [a] => 1 [b] => 2 [c] => array ( [d] => 4 ) )
* try it with this URL (all in one line):
http://devel.bibivu.com/index.php/test/1/te
st/2/test/3/test?k=4/test1?test=5/////index.php/test
**/
$SELF = pathinfo(__FILE__, PATHINFO_BASENAME);
$_GET = NULL;
$request_uri = $_SERVER['REQUEST_URI'];
//remove index
$query_string = preg_replace('/^\/'.$SELF.'/','',$request_uri);
if($query_string != '' && $query_string != '/'){
//Split it out.
$tmp = explode('/',$query_string);
//Remove first empty item
unset($tmp[0]);
//Loop through and append it into the $_GET superglobal.
for($i=1;$i<=count($tmp);$i+=2){
if(strpos($tmp[$i],'?')!==false){
$tmp1 = explode('?',$tmp[$i]);
parse_str(isset($tmp1[1])?$tmp1[1]:'',$value);
$i--;
if(isset($_GET[$tmp1[0]])){
if(!is_array($_GET[$tmp1[0]])){
$_GET[$tmp1[0]] = array($_GET[$tmp1[0]]);
}
$_GET[$tmp1[0]][] = $value;
} else {
$_GET[$tmp1[0]] = $value;
}
} else {
$value = isset($tmp[$i+1])?$tmp[$i+1]:'';
if(isset($_GET[$tmp[$i]])){
if(!is_array($_GET[$tmp[$i]])){
$_GET[$tmp[$i]] = array($_GET[$tmp[$i]]);
}
$_GET[$tmp[$i]][] = $value;
} else {
$_GET[$tmp[$i]] = $value;
}
}
}
}
}
?>
----
Server IP: 208.69.120.35
Probable Submitter: 65.184.72.141
----
Manual Page -- http://www.php.net/manual/en/language.variables.predefined.php
Edit -- https://master.php.net/note/edit/78142
Del: integrated -- https://master.php.net/note/delete/78142/integrated
Del: useless -- https://master.php.net/note/delete/78142/useless
Del: bad code -- https://master.php.net/note/delete/78142/bad+code
Del: spam -- https://master.php.net/note/delete/78142/spam
Del: non-english -- https://master.php.net/note/delete/78142/non-english
Del: in docs -- https://master.php.net/note/delete/78142/in+docs
Del: other reasons-- https://master.php.net/note/delete/78142
Reject -- https://master.php.net/note/reject/78142
Search -- https://master.php.net/manage/user-notes.php