サイトの訪問者が画像をアップロードするためのフォームに「アップロードファイル」フィールドがあります。フォームフィールドを使用してアップロードイメージファイルの名前を変更することはできますか?
<input type="file" name="fileToUpload" id="fileToUpload">
現在のところ、ファイルはアップロードされたのと同じ '名前'で私のサーバーに保存されます。
私のフォームに(下のような)入力フィールドを追加したいので、ユーザーは[画像]ファイルに新しい名前を入力することができます。
<input name="imageRename" id="imageRename">
私はそれは私のサーバーに保存されます前にファイルの名前を変更するために、現在のPHPコードを変更することにいくつかのアドバイスを必要としています。ここで
画像処理のための現在の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";
}
}
?>
ファイルの名前を変更する場合は、「move_uploaded_file」を使用します。あなたのターゲットファイル名 '$ target'は、ファイルを保存する新しい名前とパスになります。 –