Не удается найти путь к файлу (неверный URL) - PullRequest
0 голосов
/ 06 ноября 2019

У меня проблема с поиском пути к файлу. У меня есть форма, которая может вставить файл или изображение.

Ниже приведен код сохранения файла или изображений

    if($_FILES["lampiran"]["name"][$i] != "")
    {
        $my_folder = "./files";
        $location = $my_folder.'/'.$pname;

        $imageFileType = pathinfo($tname,PATHINFO_EXTENSION);

        move_uploaded_file($tname,$location);

        $query2 = "INSERT into list_lampiran (id_aduan, folder, lampiran, nama_asal, type, size, time_create) VALUES ('$id_aduan', '$my_folder', '$location', '$pname', '$file_type', '$file_size', '$time_create')";

    mysqli_query($con, $query2);
    $id_lampiran=mysqli_insert_id($con);

        if($query2){

            $myfile_rename = $id_lampiran.'_'.$pname;  

            rename($location, './files/'.$myfile_rename); 

            $query3 ="UPDATE list_lampiran SET lampiran = '$myfile_rename' WHERE id = '$id_lampiran'";      

            mysqli_query($con,$query3);

        }

    }

Затем файл или изображение будут отправлены по электронной почте и появятся в виде ссылки. Но ссылка имеет недействительный URL

Код для отображения файла или изображения в электронном письме


     if(mysqli_num_rows($resultlampiran) > 0){

      $rowlampiran = mysqli_fetch_array($resultlampiran, 
                     MYSQLI_ASSOC);
       $folder_name = $rowlampiran['folder'];
       $lampiran = $rowlampiran['lampiran'];
       $lampiran1 = $folder_name.'/'.$lampiran;
       $nama_asal = $rowlampiran['nama_asal'];
       $file = "<ul><li><a href='".$lampiran1."'>".$nama_asal."</a></li></ul>"; }

Уведомление о перенаправлении

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Вы пропустили включение URL вашего сайта в ссылку на файл. Вам нужно обновить путь к файлу в вашем шаблоне электронной почты или так:

$website = "https://example.com/";
$file = "<ul><li><a href='".$website.$lampiran1."'>".$nama_asal."</a></li</ul>";

, и все готово:)

Кроме того, вы закодировалине заботясь о безопасности вашего приложения. Любой желающий может легко загрузить бэкдор или любые другие сценарии PHP и уничтожить все данные и файлы на вашем сервере. Вы должны подтвердить расширение файла и затем сохранить в своей базе данных

Пример:

$validExt = array("jpg", "png", "pdf", "txt"); // valid extensions that should only be allowed.

// and then check if upload file's extension matches in our valid list
if(in_array(strtolower($imageFileType), $validExt) === false) {
// some other file extension found, show error message
} else {
// upload your file here and save to database
}
0 голосов
/ 06 ноября 2019

Это ваш файл URL

$location = "www.sitename.com/". $my_folder.'/'.$pname;
echo $location;
...