Как рандомизировать название загруженного изображения - PullRequest
0 голосов
/ 21 октября 2018
if( isset($_POST["Headline"]) && isset( $_POST["Summary"]) && isset( $_POST["Description"])&& isset( $_POST["submit"]) )  {
    $Headline = $_POST['Headline'];

    $Summary = $_POST['Summary'];
    $Description= $_POST['Description'];

    $image_file = $_FILES["txt_file"]["name"];
    $type  = $_FILES["txt_file"]["type"]; //file name "txt_file" 
    $size  = $_FILES["txt_file"]["size"];
    $temp  = $_FILES["txt_file"]["tmp_name"];

    $path="Images/".$image_file; //set upload folder path

    if(empty($Headline )) {
            echo '<script language="javascript">';
            echo 'alert("Please Enter a Headline")';
            echo '</script>';
    }
    else if(empty($Summary)) {
            echo '<script language="javascript">';
            echo 'alert("Please Enter a Summary")';
            echo '</script>';
    }
    else if(empty($Description)) {
            echo '<script language="javascript">';
            echo 'alert("Please Enter a Description")';
            echo '</script>';
    }        
    else if(empty($image_file)) {
            echo '<script language="javascript">';
            echo 'alert("Please upload an image")';
            echo '</script>';
    }
    else if ($type=="image/jpg" || $type=='image/jpeg' || $type=='image/png' || $type=='image/gif') {
             if(!file_exists($path)) //check file not exist in your upload folder path
                   {
                    move_uploaded_file($temp, "Images/" .$image_file);
                 in here is where the image gets sent to the folder but how do i make it so it is randomized    

                    $query = $con-> prepare("
        INSERT INTO News ( Headline, Summary,Description, Image,Date)
        VALUES ( :Headline, :Summary,:Description, '".$_FILES['txt_file']['name']."'  , NOW() )

        ");

    $success = $query-> execute ([
            'Headline' => $Headline,
            'Description' => $Description,
            'Summary' => $Summary,
        ]);
}

Я хочу, чтобы имя изображения в идеале каждый раз отличалось, поэтому, когда пользователь загружает изображение с тем же именем, нет перезаписи уже существующих изображений

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

В PHP вы можете использовать эти функции.

mt_rand

com_create_guid

<?php

function GUID()
{
    if (function_exists('com_create_guid') === true)
    {
        return trim(com_create_guid(), '{}');
    }

    return sprintf('%04X%04X-%04X-%04X-%04X-%04X%04X%04X', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(32768, 49151), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535));
}

echo 'Image name: ' . GUID();
?>
0 голосов
/ 21 октября 2018

А как насчет генератора GUID?Для MS SQL это будет select cast(newId() as nvarchar(128))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...