Questo dilemma può essere risolto in diversi modi, tuttavia ti mostriamo qual è la soluzione più completa per noi.
Imposta questo oggetto cookie.
Descrizione
Il parametro $data deve essere un array associativo contenente i nomi degli indici sottostanti o una stringa di intestazione che lo descriva in dettaglio.
Parametri
- $dati
-
(stringa|array)(Richiesto)Dati del cookie grezzi come stringa di intestazione o array di dati.
- 'nome'
(stringa) Nome del cookie. - 'valore'
(misto) Valore. NON deve essere già codificato con l'url. - 'scade'
(stringa|int|null) Opzionale. Timestamp Unix o data formattata. Predefinito null. - percorso
(stringa) Opzionale. Percorso. Predefinito '/'. - 'dominio'
(stringa) Opzionale. Dominio. Host predefinito di $requested_url analizzato. - Porta
(int) Opzionale. Porta. Predefinito nullo. - 'host_only'
(bool) Opzionale. flag di memorizzazione solo per l'host. Predefinito true.
- 'nome'
- $url_richiesto
-
(stringa)(Opzionale)L'URL su cui è stato impostato il cookie, utilizzato per i valori predefiniti di $domain e $port.
Valore predefinito: ''
Fonte
File: wp-includes/class-wp-http-cookie.php
publicfunction__construct($data,$requested_url=''){if($requested_url){$arrURL=parse_url($requested_url);}if(isset($arrURL['host'])){$this->domain=$arrURL['host'];}$this->path=isset($arrURL['path'])?$arrURL['path']:'/';if('/'!==substr($this->path,-1)){$this->path=dirname($this->path).'/';}if(is_string($data)){// Assume it's a header string direct from a previous request.$pairs=explode(';',$data);// Special handling for first pair; name=value. Also be careful of "=" in value.$name=trim(substr($pairs[0],0,strpos($pairs[0],'=')));$value=substr($pairs[0],strpos($pairs[0],'=')+1);$this->name=$name;$this->value=urldecode($value);// Removes name=value from items.array_shift($pairs);// Set everything else as a property.foreach($pairsas$pair){$pair=rtrim($pair);// Handle the cookie ending in ; which results in a empty final pair.if(empty($pair)){continue;}list($key,$val)=strpos($pair,'=')?explode('=',$pair):array($pair,'');$key=strtolower(trim($key));if('expires'===$key){$val=strtotime($val);}$this->$key=$val;}}else{if(!isset($data['name'])){return;}// Set properties based directly on parameters.foreach(array('name','value','path','domain','port','host_only')as$field){if(isset($data[$field])){$this->$field=$data[$field];}}if(isset($data['expires'])){$this->expires=is_int($data['expires'])?$data['expires']:strtotime($data['expires']);}else{$this->expires=null;}}}
Correlato
Utilizzato da
Usato da | Descrizione |
---|---|
wp-includes/class-wp-http-requests-response.php:WP_HTTP_Requests_Response::get_cookies() |
Recupera i cookie dalla risposta. |
wp-includes/class-http.php:WP_Http::processHeaders() |
Trasforma la stringa di intestazione in un array. |
wp-includes/class-http.php:WP_Http::buildCookieHeader() |
Prende gli argomenti di una ::request() e controlla l'array dei cookie. |
Changelog
Versione | Descrizione |
---|---|
5.2.0 | Aggiunto host_only al campo $data al parametro $data . |
2.8.0 | Introdotto. |
Commenti e valutazioni dell'articolo
Se ti piace questo mondo, puoi lasciare un articolo su ciò che ti ha colpito di questo articolo.