Наш сайт создает файлы «на лету», которые представляют пользовательские данные миру в Интернете.
В каждом таком файле '_present.php' есть форма, которую нужно опубликовать для себя.- Единственная проблема в том, что файл создается динамически на основе загруженных пользовательских данных, а имя файла также несколько произвольно.
Вот процесс
1) a 'standard' file called _present.php has a common form "TheForm" in it
2) this file, _present.php, is copied to Yf9iZ17a.php (for example) when
the user uploads data -- and from that point, Yf9iZ17a.php presents
that user's just-uploaded data
3) and "TheForm" is inside this Yf9iZ17a.php, which again is just a copy of
_present.php, but modified to handle the user's just-uploaded data
Довольно просто.В _present.php есть «TheForm»;пользователь загружает свои данные;мы копируем _present.php в имя файла для данных этого пользователя.
ПРОБЛЕМА - нам нужно, чтобы TheForm отправляла сообщение по своему собственному имени файла, которое создается динамически.
Другими словами, этого будет недостаточно:
<form name="TheForm" method="post" action="_present.php">
Однако это БУДЕТ работать:
<form name="TheForm" method="post" action="Yf9iZ17a.php">
Но мы не можем жестко закодировать html формы с помощью«Yf9iZ17a.php» потому что - это имя файла создается динамически, на лету, во время выполнения.
Это одна ошибка, которую нам удалось выполнить:
<form name="TheForm" method="post" action="<?php echo __FILE__ ; ?>">
A 'Просмотр исходной страницы 'достаточно убедительно доказывает, что php echo FILE"правильно отображает полный путь (не относительный путь, полный путь) к Yf9iZ17a.php.
Хорошо, это не сработает,Предоставляя браузеру полный путь к файлу - файлу на сервере - хорошо, почему вы ХОТИТЕ делать это в первую очередь, если вы не цепляетесь за соломинку.Так что это был сбой.
Конечно, это происходит, динамически создаваемые имена файлов, чьи внутренние формы должны публиковаться в этих именах файлов - каков наилучший способ решения этой проблемы?