ПРОБЛЕМА:
У меня есть код буферизации php, который «называет» мои страницы .html, сгенерированные формой, на основе данных в одном из полей формы в моей форме.
<!--Start Buffer->
<?php ob_start(); $URL=preg_replace('#[^_0-9a-zA-Z]#', '_', $_REQUEST['timeValue']); ?>
Это конкретное поле формы автоматически заполняется текущими миллисекундными часами unix.
<!--FormPage-->
<!--Timevalue/Unix millisecond code/field->
<div class="formElement">TIMESTAMP URL<br><input id="timeValue" name="timeValue"></div>
<script src="timeValueURL.js"></script>
Поэтому ... мои файлы .html в конечном итоге сохраняются с «именем» (т.е. номером), которое совпадает с тем, какие «миллисекунды» были в момент «отправки» моей формы.
* Примечание. Моя кнопка «Отправить» также «обновляет» часы в миллисекундах при отправке.
Сгенерированные файлы .html затем сохраняются в один из допустимых каталогов; "категории / новости", "категории / спорт" или "категории / развлечения".
Итак, (Пример) Если файл .html сохранен в каталог 'news' ... и часы в миллисекундах были на '1500000000000', когда форма была отправлена ... файл .html будет иметь URL 'mywebsite.com /categories/news/1500000000000.html '
В той же форме ... У меня есть поле для загрузки файлов, в котором мои посетители могут загружать файл изображения со своего сервера / устройства.
Примечание. Допустимые типы файлов изображений ограничены JPEG, PNG и GIF.
Эти загруженные изображения сохраняются в папке с именем «категории-изображения».
В настоящее время ... эти файлы изображений сохраняются в этой папке под тем «именем», которое они имели при загрузке.
Пример. Если пользователь загружает изображение в формате JPEG с именем «blueimage.jpg», файл в настоящее время будет сохранен по URL-адресу «mywebsite.com/categories/category-images/blueimage.jpg».
Вместо этого ... я хотел бы, чтобы файл изображения имел то же «имя», что и файл .html.
Итак, используя приведенный выше пример ... изображение должно иметь имя "1500000000000.jpg" и URL-адрес
mywebsite.com/categories/category-images/1500000000000.jpg.
ВОПРОС:
Есть ли способ добиться этого, аналогичный или, возможно, даже включающий код, используемый для наименования файла .html?
ЗАМЕТКА:
Мне пришло в голову, что я также должен включить php для обработки изображений.
Итак, вот это ....
<?php
$target_dir = "articles/article-images/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if(isset($_POST["submit"]))
{
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false)
{
echo "" . $check[""] . ""; $uploadOk = 1;
}
else
{
echo " × FILE IS NOT AN IMAGE"; $uploadOk = 0;
}
}
if(file_exists($target_file))
{
echo " × THIS IMAGE ALREADY EXIST ON SERVER"; $uploadOk = 0;
}
if ($_FILES["fileToUpload"]["size"] > 500000)
{
echo " × FILE IS TOO LARGE"; $uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
{
echo " × ONLY JPG, JPEG, PNG & GIF FILES ARE PERMITTED"; $uploadOk = 0;
}
if ($uploadOk == 0)
{
echo " × IMAGE WAS NOT UPLOADED";
}
else
{
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
echo '<img class="fixed-ratio-resize" src="../../articles/article-images/'. basename( $_FILES["fileToUpload"]["name"]). '">';
}
else
{
echo " × IMAGE WAS NOT UPLOADED";
}
}
?>