По сути, следующий код работает нормально, за исключением разделов «unlink». Запись находится и удаляется в базе данных, но файл в каталоге сервера остается нетронутым.
Я знаю, что «pageLocation» является точным, потому что я использовал его для загрузки файлов.
<?php
session_start();
if(isset($_POST['btnSubmitEdit']))
{
$allowed_filetypes = array('.jpg','.jpeg','.png');
$max_filesize = 10485760;
$setComic = $_SESSION['comicID'];
$setPage = $_SESSION['currentPage'];
$upload_path = 'comics/'.$setComic.'/';
$filename = $_FILES['fileToEdit']['name'];
$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);
if(!in_array($ext,$allowed_filetypes))
die('The file you attempted to upload is not allowed.');
if(filesize($_FILES['fileToEdit']['tmp_name']) > $max_filesize)
die('The file you attempted to upload is too large.');
if(!is_writable($upload_path))
die('You cannot upload to the specified directory, please CHMOD it to 777.');
include_once('includes/conn.inc.php');
$query1 = ("SELECT pageLocation FROM page WHERE pageID = '$setPage'");
$result1 = mysqli_query($conn, $query1);
while ($row = $result1->fetch_assoc())
{
unlink('/"'.$row['pageLocation'].'"');
}
if(move_uploaded_file($_FILES['fileToEdit']['tmp_name'],$upload_path . $filename))
{
mysqli_query($conn, "UPDATE page SET pageLocation='".$upload_path . $filename."' WHERE pageID=".$setPage."");
mysqli_close($conn);
}
else
{
echo 'There was an error during the file upload. Please try again.';
}
header('Location: uploadPage.php');
}
if(isset($_POST['btnSubmitDelete']))
{
$setPage = $_SESSION['currentPage'];
include_once('includes/conn.inc.php');
$query2 = ("SELECT pageLocation FROM page WHERE pageID = '$setPage'");
$result2 = mysqli_query($conn, $query2);
while ($row = $result2->fetch_assoc())
{
unlink('/"'.$row['pageLocation'].'"');
mysqli_query($conn, "DELETE FROM page WHERE pageID = '$setPage'");
}
header('Location: uploadPage.php');
}
?>
Задача ещё не решена.
Других решений пока нет …