2013-03-10 30 views
50

Tôi muốn có thể cho phép một chương trình PHP chờ đầu vào của người dùng. Ví dụ:PHP chờ cho đầu vào từ dòng lệnh

  1. Script yêu cầu đang cho phép từ máy chủ (mã này sẽ được gửi qua e-mail)
  2. Script chờ đợi cho người dùng nhập mã uỷ quyền
  3. Script tiếp tục

Làm thế nào nên Tôi làm bước 2? (Có thể?)

+1

Làm thế nào về đọc man page vào cách sử dụng php cli, đặc biệt hữu ích sẽ là bình luận này -> http://www.php.net/manual/en/features.commandline.php#94924 – Crisp

+0

Cảm ơn @Crisp, bạn có thể làm cho câu trả lời đó. – Keelan

+0

Tôi không nghĩ rằng đây là bản sao của câu trả lời được liên kết. Bạn có thể sử dụng mã được cung cấp bởi Crisp trong đó bao gồm các tập tin xử lý. Hoặc đơn giản là sử dụng hàm readline() sẽ nhắc nhở người dùng nhập vào: http://www.php.net/manual/en/function.readline.php giả sử PHP của bạn được biên dịch với hỗ trợ readline. – Gabe

Trả lời

112

Các trang người đàn ông php cho cli có comment here định chi tiết một giải pháp, (sao chép ở đây cho bất cứ ai khác tìm kiếm)

<?php 
echo "Are you sure you want to do this? Type 'yes' to continue: "; 
$handle = fopen ("php://stdin","r"); 
$line = fgets($handle); 
if(trim($line) != 'yes'){ 
    echo "ABORTING!\n"; 
    exit; 
} 
fclose($handle); 
echo "\n"; 
echo "Thank you, continuing...\n"; 
?> 
+5

Đây là vàng. Có một "whoah!" vibe xảy ra ở đây, sau nhiều năm của PHP tôi vừa mới học được bạn có thể làm điều này. – Martijn

+0

Điều này có thể làm vòng lặp, mà chấm dứt trên đầu vào? – azurinko

+0

@azurinko yes https://gist.github.com/jordan314/f633a58c68a7d923139b891065365133 – jordan314

Các vấn đề liên quan