Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #20828

Re: Controllare se l'indirizzo IP dell'utente ricavato con $_SERVER["REMOTE_ADDR"] è presente in un array ricavato mediante il parsing di un file .txt

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: Controllare se l'indirizzo IP dell'utente ricavato con $_SERVER["REMOTE_ADDR"] è presente in un array ricavato mediante il parsing di un file .txt
Date 2016-05-22 16:57 +0000
Message-ID <dqe6njFg79rU1@mid.individual.net> (permalink)
References <e4f518a5-1234-4f5b-90d5-5414db7873b0@googlegroups.com>

Show all headers | View raw


Il Sun, 22 May 2016 03:27:11 -0700, Marco ha scritto:

> $filelog = "votivalidi.txt";
> $txt_file = file_get_contents($filelog);
> $txt_file = "\r\n" . $txt_file;
> $txt_file = utf8_encode(trim($txt_file));

Cioè, prima aggiungi un \r\n all'inizio della stringa e poi lo trimmi 
subito? E a cosa ti serve utf8_encode?

> $rigas = explode("\r\n", $txt_file);
> $eip = array();
> 								
> foreach($rigas as $riga => $dat) {
> $datu = explode("|", $dat , 6);

Questo mi puzza tanto di file csv ma con i | al posto delle virgole.

Puoi usare direttamente

$file = fopen('votivalidi.txt','r');
while (false !== ($dat = fgetcsv($file, 0, '|')) {

> 						
> if ((strtotime($dat[2])) > (strtotime($datapiuora))) {
> $eip[] = $dat[3];

Probabilmente qui ti conviene fare un trim($dat[3]).

Meglio ancora, fai

$eip[trim($dat[3])] = true;
										
> }
> }
> $eip = array_unique($eip);
> if (in_array($ip, $eip) {

Così puoi evitare l'array_unique e qui puoi fare

if (array_key_exists($ip, $eip)) {

> Ho verificato il contenuto dell'array $eip ed è tutto a posto. Ma il
> confronto con in_array è sempre False. Posso solo pensare che il
> problema dipenda dal tipo di dati che andrebbero convertiti. Integer?
> Long? String?

Se sono IP dovrebbero essere già stringhe. Il problema potrebbe essere da 
un'altra parte. Per esempio nel (mancato) trim, o in caratteri invisibili 
nel file.

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Controllare se l'indirizzo IP dell'utente ricavato con $_SERVER["REMOTE_ADDR"] è presente in un array ricavato mediante il parsing di un file .txt Marco <marcosol@tiscali.it> - 2016-05-22 03:27 -0700
  Re: Controllare se l'indirizzo IP dell'utente ricavato con $_SERVER["REMOTE_ADDR"] è presente in un array ricavato mediante il parsing di un file .txt fmigliori <fmigliori@gmail.com> - 2016-05-22 05:48 -0700
  Re: Controllare se l'indirizzo IP dell'utente ricavato con $ SERVER["REMOTE ADDR"] è presente in un array ricavato mediante il parsing di un file .txt Alex <tommaso5ita@yahoo.it> - 2016-05-22 17:25 +0200
  Re: Controllare se l'indirizzo IP dell'utente ricavato con $_SERVER["REMOTE_ADDR"] è presente in un array ricavato mediante il parsing di un file .txt Alessandro Pellizzari <shuriken@amiran.it> - 2016-05-22 16:57 +0000

csiph-web