Как и все остальные, прежде чем вы сможете использовать $_SERVER['REMOTE_ADDR'];
для получения IP-адреса клиента.
Кроме того, если вам нужна дополнительная информация о пользователе, вы можете использовать это:
" . $clientDetails->country . "";
?>
Более подробная информация клиента находится в $ clientDetails. Вы можете получить json-элементы, хранящиеся в переменной $ clientDetails следующим образом: $ clientDetails-> PostalCode / hostname / region / loc ...
Я использую ipinfo.io , чтобы получить Дополнительная информация.
Надеюсь, это поможет.
fscanf
- «При успешном завершении функция возвращает количество успешно прочитанных элементов. Этот счет может соответствовать ожидаемому количеству показаний или быть менее-равно нулю - в случае сбоя соответствия. входной сбой, прежде чем какие-либо данные могут быть успешно прочитаны, возвращается EOF. "
Итак, вместо того, чтобы ничего не делать с возвращаемым значением, как вы сейчас, вы можете проверить, является ли это == EOF
.
Вы должны проверить EOF, когда вы вызываете fscanf
, а не проверяете слот массива для EOF.
while (fscanf(input,"%s",arr) != EOF && count!=7) {
len=strlen(arr);
count++;
}
Если у вас есть целые числа в вашем файле, fscanf возвращает 1 до тех пор, пока не произойдет целое число. Например:
FILE *in = fopen("./task.in", "r");
int length = 0;
int counter;
int sequence;
for ( int i = 0; i < 10; i++ ) {
counter = fscanf(in, "%d", &sequence);
if ( counter == 1 ) {
length += 1;
}
}
Чтобы узнать конец файла с символами, вы можете использовать EOF. Например:
char symbol;
FILE *in = fopen("./task.in", "r");
for ( ; fscanf(in, "%c", &symbol) != EOF; ) {
printf("%c", symbol);
}
while(fscanf(input,"%s",arr) != EOF) {...}
. Когда конец файла будет достигнут, fscanf вернет EOF, который цикл while поймает, и больше ничего не будет прочитано. Фактически, вы можете использовать это, чтобы вычислить свою переменнуюcount
. – prelic 21 August 2012 в 06:23