Как создать новый текстовый файл с новым именем из phpscript каждый раз, когда он выполняется
Я использую скрипт Php, который на самом деле для отправки смс с терминала с помощью онлайн-сервиса смс 160by2
Что он делает, это открывает терминал, запрашивает номер, затем смс, и он отправляется...
Теперь я хочу, чтобы текст в этом смс копировался в новый файл каждый раз.
например, text1.txt, затем text2.txt, и каждый раз он увеличивается.
Если это невозможно из сценария php, то я могу написать сценарий оболочки, который сначала выполняет сценарий php, а затем создает новый файл с помощью некоторой команды и копирует текст из смс в этот файл.
Я хочу знать, что команда (я думаю, также используется конвейерная обработка), а также, как сделать имя файла каждый раз другим?
Я не знаю сценариев оболочки.
но в обычном языке программирования, таком как c/ C++/java, можно было бы использовать цикл, в котором переменная увеличивается каждый раз, а затем передается в качестве параметра имени... это возможно в сценариях оболочки?
2 ответа
Ваш скрипт должен быть изменен, чтобы сделать две дополнительные вещи:
- Создать уникальное имя файла для текстового сообщения (на основе даты, времени и т. Д.)
- Написать номер
$phno
и сообщение$msg
в этот файл
Мы можем сделать первое, используя PHP date
функция, а последняя с помощью file_put_contents
функция.
Все, что вам нужно сделать, это вставить эти две строки кода после ввода номера телефона и сообщения:
$ textfilename = "text".date ("Ymd His").".txt"; file_put_contents ($textfilename, $phno."\n".$msg."\n");
Пример вывода в файл
text 2012-08-21 195239.txt
:1800LOLCATS ICANHAZCHEEZBURGER?
Вот скрипт php, который записывает файл с именем, используя метку времени Unix:
#!/usr/bin/env php
<?php
file_put_contents("file" . ((int) microtime(true)) . ".txt", file_get_contents("/proc/cpuinfo"));
?>
если вы хотите заполнить файл, например, из stdin, измените / proc / cpuinfo на php: // stdin
Вот сценарий оболочки, который делает то же самое, что и оригинальный скрипт PHP
#!/bin/sh
cat /proc/cpuinfo | tee "file`date +%s`.txt" > /dev/null
вы можете chmod +x оба из них и выполнить их