Этот раздел описывает, как использовать PHP для переименования файлов в системах Windows.
PHP содержит функцию rename() для переименования файлов. Эта функция определена ниже:
rename($orig_filename, $new_filename) – переименует файл, определенный первым параметром, в имя, определенное вторым параметром. Функция возвращает значение true или false.
Следующий пример показывает, как переименовать файл с помощью функции rename():
filerename.php <?php $orig_filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt";$new_filename = "C:/Documents and Settings/Administrator/MyFiles/newfile.txt";$status = rename($orig_filename, $new_filename) or exit("Невозможно переименовать файл"); echo "файл успешно переименован"; ?>
Первый шаг состоит в создании переменной для хранения полного пути доступа к файлу, который будет переименован:
$orig_filename = "C:/Documents and Settings/Administrators/MyFiles/myfile.txt";
Второй шаг состоит в создании переменной для хранения полного пути доступа к файлу, который будет создан, когда старый файл будет переименован:
$new_filename = "C:/Documents and Settings/Administrators/MyFiles/newfile.txt";
При выполнении функция rename() получает два параметра, путь доступа к исходному файлу — $orig_filename и путь доступа к файлу, который будет создан, когда старый файл будет переименован — $new_filename. Функция rename() возвращает значение true, если файл переименовывается успешно, иначе возвращается значение false. Возвращаемое значение хранится в переменной $status.
$status = rename($orig_filename,$new_filename) or exit("Невозможно переименовать файл");
Если функция rename() отказывает, выполняется функция exit(), выводящая сообщение об ошибке. Иначе выводится сообщение об успехе с помощью оператора echo.
echo "файл успешно переименован";
В большинстве случаев введенные пользователями данные формы записывают в СУБД, такую, как MS Access и MySQL, с помощью функций ODBC и MySQL, рассмотренных в разделах 9 и 10. Аналогичным образом данные формы можно также записать в текстовый файл. Этот раздел описывает, как использовать PHP для получения данных формы и записи их в текстовый файл.
Рассмотрим приведенную выше страницу с формой. Следующий пример показывает, как записать отправленные данные формы в текстовый файл:
<?php if ($_POST['SubmitB'] == "Submit Data"){$file_name = "c:\formfile.txt";$open_file = fopen($file_name, "a+"); $file_contents= $_POST['FName'] . "," . $_POST['LName'] . "," . $_POST['DateTime'] ."\n"; fwrite($open_file,$file_contents); fclose($open_file); echo "Данные формы успешно записаны в файл";}?> <!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <title>Страница Web </title></head><body> <p>Запись данных формы в файл </p> <p><form method="post" action="createfile.php"> Enter First Name <input type="text" name="FName"/><br/><br/>Enter Last Name <input type="text" name="LName"/><br/><br/><input type="hidden" name="DateTime" value="<?php echo date('g:i a') ?>"/><input type="submit" name="SubmitB" value="Submit Data"/> </form></p> </body></html>
Пример 11.1.
В этом примере форма страницы XHTML содержит текстовое поле для имени и фамилии пользователя. Также кодируется скрытое поле, в которое заносится с помощью функции PHP date() текущие дата и время. Когда нажимается кнопка отправки формы, создается новый текстовый файл 'formfile.txt' и открывается в режиме добавления:
Затем переменной $file_contents присваиваются значения суперглобальных переменных POST, содержащие имя и фамилию пользователя и текущее значение даты и времени. К строкам присоединяется запятая, чтобы создать разграничители этих значений. В конце каждой строки добавляется символ новой строки для создания возврата каретки:
Наконец, содержимое переменной $file_contents записывается (добавляется) в текстовый файл. Файл закрывается, и используется оператор echo для вывода подтверждающего сообщения в окне браузера:
fclose($open_file);echo "Данные формы успешно записаны в файл";