Como eu crio um novo arquivo de texto com um novo nome de um phpscript toda vez que ele é executado?

1

Eu uso um script Php que é, na verdade, para enviar sms do terminal usando um arquivo on-line. serviço de sms 160by2

O que ele faz é abrir o terminal, perguntar o número e depois o sms e ele é enviado ...

Agora, quero que o texto desse sms seja copiado para um novo arquivo toda vez.

por exemplo, como text1.txt, em seguida, text2.txt e continua incrementando todas as vezes.

Se não for possível a partir do script php, então eu posso criar um script de shell que primeiro execute o script php e, em seguida, crie o novo arquivo com algum comando e copie o texto no sms para esse arquivo.

Eu quero saber esse comando (acho que pipelining também é usado) e também, como tornar o nome do arquivo diferente toda vez?

Não sei scripts de shell.

mas em uma linguagem de programação normal, como c / c ++ / java, o caminho seria um loop no qual uma variável é incrementada toda vez e então passada como um parâmetro para o name..is algo parecido é possível no shell script?

    
por Nirmik 30.07.2012 / 20:43

2 respostas

1

Seu script deve ser modificado para fazer duas coisas adicionais:

  1. Gerar um nome de arquivo exclusivo para a mensagem de texto (com base na data, hora, etc.)
  2. Escreva o número $phno e a mensagem $msg neste arquivo

Nós podemos fazer o primeiro usando a função date do PHP, e o último usando a função file_put_contents .

Tudo o que você precisa fazer é inserir essas duas linhas de código depois que o número de telefone e a mensagem tiverem sido digitados:

$textfilename="text ".date("Y-m-d His").".txt";
file_put_contents ($textfilename, $phno."\n".$msg."\n");
  • Exemplo de saída, no arquivo text 2012-08-21 195239.txt :

    1800LOLCATS
    ICANHAZCHEEZBURGER?
    
por ish 22.08.2012 / 04:53
2

aqui está um script php que grava um arquivo chamado usando o timestamp unix:

#!/usr/bin/env php
<?php
file_put_contents("file" . ((int) microtime(true)) . ".txt", file_get_contents("/proc/cpuinfo"));
?>

se você quiser preencher o arquivo, por exemplo, stdin, altere / proc / cpuinfo para php: // stdin

aqui está um script de shell que faz o mesmo que o script php original

#!/bin/sh
cat /proc/cpuinfo | tee "file'date +%s'.txt" > /dev/null

você pode chmod + x ambos e executá-los

    
por Janus Troelsen 30.07.2012 / 21:17