[Script] Read function

Only PHP & MySQL.

Moderator: DaD

[Script] Read function

Postby DaD on Sat Oct 13, 2007 8:54 pm

Questa funzione è simile a quella di bash per catturare l'input della tastiera dell'utente, naturalmente è una funzione da usare per applicazioni da shell ;)

Code: Select all
<?php
     function read($length='255'){
           if (!isset ($GLOBALS['StdinPointer'])){
              $GLOBALS['StdinPointer'] = fopen ("php://stdin","r");
           }
           $line = fgets ($GLOBALS['StdinPointer'],$length);
           return trim ($line);
     }
     // example
     print "Quale os usi?: ";
     $f = read();
     $f == "linux" ? print "Ottima scelta!\n" : print "Io cambierei os ...\n";
?>

Code: Select all
DaD@slack:~/Programming$ ./read.php
Quale os usi?: linux
Ottima scelta!

;)
Last edited by DaD on Wed Oct 17, 2007 6:49 pm, edited 1 time in total.
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

[Script] Read function

Sponsor

Sponsor


Postby k8 on Sat Oct 13, 2007 9:09 pm

davvero ottimo :o
vediamo adesso se riesco a finire il mio client-server in php :o
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby patrick91 on Sun Oct 14, 2007 8:07 pm

uhm
uhm
uhm
uhm
uhm
uhm



se faccio una bot da zero lo implemento :D (per fare la configurazione)
User avatar
patrick91
Newbies
 
Posts: 42
Joined: Thu Jun 07, 2007 5:15 pm

Postby k8 on Sun Oct 14, 2007 9:15 pm

dad, mi devi spiegare come fai per lanciare gli script con ./blabla.php 8)
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby DaD on Sun Oct 14, 2007 10:34 pm

k8 wrote:dad, mi devi spiegare come fai per lanciare gli script con ./blabla.php 8)

#!/usr/bin/php -q
;)
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

Postby k8 on Sun Oct 14, 2007 10:36 pm

dad wrote:
k8 wrote:dad, mi devi spiegare come fai per lanciare gli script con ./blabla.php 8)

#!/usr/bin/php -q
;)
:D thx
Big-Bug cerca collaboratori.
Scrivete senza abbreviazioni e senza k, grazie.
k8
Admin
 
Posts: 2127
Joined: Tue Jun 06, 2006 4:00 pm

Postby necrosis on Mon Oct 15, 2007 5:10 pm

puoi anche fare:

Code: Select all
php ./blabla.php


Ciao ciao
necrosis
necrosis
Ciclo
 
Posts: 510
Joined: Fri Jul 14, 2006 9:05 am

Postby NorbiX on Tue Oct 16, 2007 8:56 pm

ottimo con questa i tuoi programmi possono essere "dinamici"

cioè col php "standard" al massimo puoi passare dei parametri, ma non inserirne altri nel corso del programma

comunque, mi ha incuriosito questa riga

Code: Select all
$f == "linux" ? print "Ottima scelta!\n" : print "Io cambierei os ...\n";


è forse l'equivalente di

Code: Select all
if($f == "linux") echo "Ottima scelta!\n";
else echo "Io cambierei os...\n";


dico bene?
#include <antisocialbastard>

anti-social_bastard_init(&norbix);
User avatar
NorbiX
Array[]
 
Posts: 722
Joined: Fri Jul 14, 2006 11:14 am
Location: Inside the N.A.K.

Postby DaD on Tue Oct 16, 2007 10:07 pm

Si, in pratica li utilizzo l'operatore ternario invece che il solito if :D
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

Postby __GiReX__ on Wed Oct 17, 2007 2:32 pm

SI esiste anche in C!
Ottimo lavoro cmq!
Ah il -q dopo #|/usr/bin/php che mi rappresenta?
User avatar
__GiReX__
Moderatore
 
Posts: 78
Joined: Mon May 07, 2007 9:48 pm

Postby DaD on Wed Oct 17, 2007 5:47 pm

__GiReX__ wrote:SI esiste anche in C!
Ottimo lavoro cmq!
Ah il -q dopo #|/usr/bin/php che mi rappresenta?

Sopprime gli http headers che di solito php crea automaticamente al lancio dello script, visto che da linea di comando quel tipo di header è inutile con l'argomento -q si eliminano sul nascere, in questo modo lo script aumenta di velocità ;)
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

Postby __GiReX__ on Wed Oct 17, 2007 8:05 pm

Bella lì!
User avatar
__GiReX__
Moderatore
 
Posts: 78
Joined: Mon May 07, 2007 9:48 pm

Postby DaD on Sat Oct 27, 2007 12:36 pm

Code: Select all
<?php
     echo "Quanti numeri vuoi generare? ";
     $n = read();
     echo "Inserisci $n numeri:\n";
     for($i = 1; $i <= $n; $i++){
          $x = read();
          $somma += $x;
     }
     $m = $somma / $n;
     echo "La media dei numeri generati è $m\n";
?>


Code: Select all
$ ./read.php
Quanti numeri vuoi generare? 3
Inserisci 3 numeri:
4
5
6
La media dei numeri generati è 5


Altro che python :lol:
So che non ha senso come script, ma sto facendo questo genere di cose anche in C è quindi mi viene la nostalgia di php, è rifaccio tutto anche qui xD
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

Postby NorbiX on Sun Oct 28, 2007 7:16 pm

asd asd

comunque, necrosis, per il tuo messaggio, penso che chiunque lanci gli script normalmente così, e in questo caso non serve nemmeno specificare il percorso assoluto (./nomefile.php)

dad per caso il file deve avere per forza estensione .php per lanciarlo? a me dava errori del tipo "permess denied", ma non ricordo bene, se sai la soluzione ok altrimenti scrivo meglio questo messaggio

bye
#include <antisocialbastard>

anti-social_bastard_init(&norbix);
User avatar
NorbiX
Array[]
 
Posts: 722
Joined: Fri Jul 14, 2006 11:14 am
Location: Inside the N.A.K.

Postby DaD on Sun Oct 28, 2007 8:09 pm

No Norbix, lo script può andare benissimamente anche omettendo l'estensione, anche perchè tutte le estensioni sono soltanto una mera convenzione introdotta per non fare confusione fra i file, ma alla fine non è che ci sia scritto da qaulche parte che gli script php debbano per forza avere estensione php eh :P
Image
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall)
Get Slack! | User Linux's ID | Blog
User avatar
DaD
Php Guru
 
Posts: 322
Joined: Sat Nov 25, 2006 5:09 pm

Next

Return to PHP & MySQL

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest