downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

fgetcsv> <fflush
[edit] Last updated: Fri, 18 Sep 2009

view this page in

fgetc

(PHP 4, PHP 5)

fgetcВзима символ от файлов указател

Описание

string fgetc ( resource $handle )

Взима символ от файлов указател.

Параметри

handle

Файловият указател трябва да бъде валиден, и трябва да сочи към файл, който е бил отворен успешно чрез функция fopen() или fsockopen() (и все още да не е затворен от fclose()).

Връщани стойности

Връща низ, съдържащ един символ, от файл указан чрез манипулатор handle . Символът се взима от текущата позиция, сочена от указателя на файла. Връща FALSE в случаите, когато указателят на файла е в неговия край (EOF).

Предупреждение

Тази функция може да върне булева стойност FALSE, но може също да върне небулева стойност, която се интерпретира като FALSE, като 0 или "". Вижте раздел Булев тип за повече информация. Използвайте оператора === за проверка на връщаната стойност от тази функция.

Примери

Example #1 Пример за fgetc()

<?php
$fp 
fopen('somefile.txt''r');
if (!
$fp) {
    echo 
'Не мога да отворя somefile.txt';
}
while (
false !== ($char fgetc($fp))) {
    echo 
"$char\n";
}
?>

Бележки

Забележка: Тази функция е двоично сигурна (binary-safe).

Вж. също

  • fread() - Двоично-безопасно изчитане на файл
  • fopen() - Отваря файл или URL
  • popen() - Отваря файлов манипулатор към процес
  • fsockopen() - Open Internet or Unix domain socket connection
  • fgets() - Взима ред от файл от позицията, сочена от файловия указател



fgetcsv> <fflush
[edit] Last updated: Fri, 18 Sep 2009
 
add a note add a note User Contributed Notes fgetc
sfinktah at php dot spamtrak dot org 22-Mar-2011 12:33
To read a single key-press in CLI mode, you can either use ncurses (which will probably require additional modules for PHP) or get nasty with the *nix "/bin/stty" command)

<?php
  
function stty($options) {
     
exec($cmd = "/bin/stty $options", $output, $el);
     
$el AND die("exec($cmd) failed");
      return
implode(" ", $output);
   }

   function
getchar($echo = false) {
     
$echo = $echo ? "" : "-echo";

     
# Get original settings
     
$stty_settings = preg_replace("#.*; ?#s", "", stty("--all"));

     
# Set new ones
     
stty("cbreak $echo");

     
# Get characters until a PERIOD is typed, 
      # showing their hexidecimal ordinal values.
     
printf("> ");
      do {
        
printf("%02x ", ord($c = fgetc(STDIN)));
      } while (
$c != '.');

     
# Return settings
     
stty($stty_settings);
   }

  
getchar();
?>
alex at alexdemers dot me 11-May-2009 04:30
The best and simplest way to get input from a user in the CLI with only PHP is to use fgetc() function with the STDIN constant:

<?php

echo 'Are you sure you want to quit? (y/n) ';
$input = fgetc(STDIN);

if (
$input == 'y')
{
    exit(
0);
}

?>
ktraas at gmail dot com (Kevin Traas) 23-Mar-2009 01:08
I was using command-line PHP to create an interactive script and wanted the user to enter just one character of input - in response a Yes/No question.  Had some trouble finding a way to do so using fgets(), fgetc(), various suggestions using readline(), popen(), etc.  Came up with the following that works quite nicely:

$ans = strtolower( trim( `bash -c "read -n 1 -t 10 ANS ; echo \\\$ANS"` ) );

 
show source | credits | stats | sitemap | contact | advertising | mirror sites