PHP  
downloads | documentation | faq | getting help | | php.net sites | links 
search for in the  
previouspspell_suggestreadlinenext
Last updated: Tue, 28 May 2002
view this page in Printer friendly version | English | Brazilian Portuguese | Czech | Dutch | French | German | Hungarian | Italian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Turkish

LXXXIV. GNU Readline

The readline() functions implement an interface to the GNU Readline library. These are functions that provide editable command lines. An example being the way Bash allows you to use the arrow keys to insert characters or scroll through command history. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts meant to be run from a shell.

Requirements

To use the readline functions, you need to install libreadline and compile PHP with support for readline.

Installation

To compile PHP with readline support, you need to configure PHP --with-readline after you've installed libreadline. You can find libreadline on the home page of the GNU Readline project, at . It's maintained by Chet Ramey, who's also the author of Bash.

Runtime Configuration

T�m� laajennus ei m��rittele yht�k��n konfigurointi asetusta.

Resource types

T�m� laajennus ei m��rittele yht�k��n resurssi-tyyppi�.

Predefined constants

T�m� laajennus ei m��rittele yht�k��n vakiota.

Sis�llys
readline -- Reads a line
readline_add_history -- Adds a line to the history
readline_clear_history -- Clears the history
readline_completion_function -- Registers a completion function
readline_info -- Gets/sets various internal readline variables
readline_list_history -- Lists the history
readline_read_history -- Reads the history
readline_write_history -- Writes the history
User Contributed Notes
GNU Readline
add a note about notes

04-Mar-2002 04:11

You'll probably need the --with-readline directive when configuring php to
have the readline() functions available.  

If you've installed the readline libraries in /usr/local, add:

--with-readline=/usr/local

to your ./configure command.

14-Apr-2002 01:17
[Ed. note: you can use fopen("php://stdin", "w") to
achieve the same thing, works on both Windows and Unix)]

I wanted to get console input in a PHP script running on windows, so I
made a little hack, which is so simple, it is clearly public domain.  What
I did was write a C++ program to get a line, then output it.  Then all
that is needed is to exec() that program and capture the output -
readline() for windows.  The C++ source is as follows:

#include <iostream.h>
#include <string>
void main()
{
    string input;
    cin >> input;
    cout << input;
}

It works wonderfully for my purposes, since I love the PHP language and
want to have console input.

Justin Henck

joshua at neocodesoftware.com
21-Apr-2002 09:17

Here's an example simple readline-like way to input from command line on
windows - the single line is from 
the multiline is something I added...

<?
function read () {
	# 4092 max on win32 fopen

	$fp=fopen("php://stdin", "r");
	$in=fgets($fp,4094);
	fclose($fp);

	# strip newline
	(PHP_OS == "WINNT") ? ($read = str_replace("\r\n",
"", $in)) : ($read = str_replace("\n", "",
$in));

	return $read;
}

function multilineread () {
	do {
		$in = read();

		# test exit
		if ($in == ".") return $read;

		# concat input
		(PHP_OS == "WINNT") ? ($read = $read . ($read ?
"\r\n" : "") . $in) : ($read = $read . "\n"
. $in);

	} while ($inp != ".");

	return $read;
}

print("End input with . on line by itself.\n");

print("What is your first name?\n");
$first_name = multilineread();

print("What is your last name?\n");
$last_name = read();

print("\nHello, $first_name $last_name! Nice to meet you! \n");
?>


10-Jun-2002 10:05

There is a simpler way to do a multiline read than above:

function multiline() {
    while(($in = readline("")) != ".")
        $story .= ($PHP_OS == "WINNT") ? "\r\n".$in :
                                         "\n".$in;

    return $story;
}

add a note about notes
previouspspell_suggestreadlinenext
Last updated: Tue, 28 May 2002
show source | credits | stats | mirror sites:  
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Sat Jul 6 00:05:55 2002 CEST