Я действительно помогу. Мне нужно опубликовать новое имя файла в базе данных. В настоящее время этот код отправляет оригинальное имя в базу данных? Как я могу опубликовать новое имя в базе данных? См. Код ниже.
<form action="" method="post" enctype="multipart/form-data"> <p> <label for="file">Name:</label> <input type="text" name="user_name" id="name" size="24"/> </p> <p> <label for="file">Email Address:</label> <input type="text" name="email" id="email" size="24"/> </p> <p> <label for="file">Phone Number:</label> <input type="text" name="phone" id="phoneNumber" size="24"/> </p> <p> <label for="file">Comments:</label> <textarea cols="80" rows="6" name="comments"></textarea> </p> <p> <label for="file">Filename:</label> <input type="file" name="fupload" id="fupload" size="24"/> </p> <br /> <input type="submit" name="submit" value="Submit" /> </form> <br> <br> <?php require 'config.php'; require 'functions.php'; if(isset($_FILES['fupload'])) { if(preg_match('/[.](jpg)|(gif)|(png)$/', $_FILES['fupload']['name'])) { $old_filename = $_FILES['fupload']['name']; $random_digit=rand(0000,9999); $filename=$random_digit . $old_filename; $source = $_FILES['fupload']['tmp_name']; $target = $path_to_image_directory . $filename; move_uploaded_file($source, $target); createThumbnail($filename); } } include "connect.php"; $db_database = new mysqli($db_host, $db_user, $db_pass, $db_database); $user_name = stripslashes($_POST['user_name']); $email = stripslashes($_POST['email']); $phone = stripslashes($_POST['phone']); $comments = stripslashes($_POST['comments']); $filename = basename( $_FILES['fupload']['name']); $query = "INSERT into upload (user_name, email, phone, comments, fupload, date_added) values ('$user_name', '$email', '$phone', '$comments', '$filename', NOW())"; $db_database->query($query); ?>
Вам нужно настроить линию:
$filename = basename( $_FILES['fupload']['name']);
перед созданием оператора SQL; вы должны установить значение $filename
там для нового имени вашего файла.
О, и я уверен, что кто-то скоро отправится, чтобы указать, что ваш скрипт открыт для SQL-инъекций.