Отмена связи с файлом не работает, когда нажата ссылка на удаление PHP

Я пытаюсь сделать эту ссылку:

<a href="{$_SERVER[" php_self']}?del="true&product_code=" .($row['product_code'])."'"="" onclick="return show_confirm();" target="_blank">Delete</a>

Он удаляет указанную строку из таблицы MSSQL, используя функцию while. В настоящее время нижний код работает отлично в том смысле, что он удаляет определенную строку из таблицы MSSQL, но я хотел бы, чтобы он также отсоединил файл из папки img и другого файла из папки specsheets.

Файл, который не связан с img имеет имя файла, хранящееся в столбце product_img_name для этой строки таблицы, а другой файл имеет имя файла, хранящееся в столбце specsheet. Каждая строка таблицы содержит эти два столбца, которые содержат уникальные имена файлов из файлов, расположенных в папке img и specsheets.

Пока я удаляю delete, я получаю следующие ошибки:

Warning: mssql_query() [function.mssql-query]: message: Conversion failed when converting the varchar value 'G1013' to data type int. (severity 16) in D:\Hosting\dl\partscatalogue\partscataloguemanagement.php on line 1175
Warning: mssql_query() [function.mssql-query]: Query failed in D:\Hosting\dtscatalogue\partscataloguemanagement.php on line 1175
Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in D:\Hostingdtml\partscatalogue\partscataloguemanagement.php on line 1175
Warning: unlink(img/) [function.unlink]: Permission denied in D:\Hostingdml\partscatalogue\partscataloguemanagement.php on line 1177
Warning: mssql_query() [function.mssql-query]: message: Conversion failed when converting the varchar value 'G1013' to data type int. (severity 16) in D:\Hostingdml\partscatalogue\partscataloguemanagement.php on line 1179
Warning: mssql_query() [function.mssql-query]: Query failed in D:\Hostindhtml\partscatalogue\partscataloguemanagement.php on line 1179
Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in D:\Hosting\dhtml\partscatalogue\partscataloguemanagement.php on line 1179

Моя проблема в простых терминах - это когда строка таблицы удаляется, файл для этой строки в папке img веб-сайта и файл для этой строки в моей папке specsheets веб- specsheets остаются и не удаляются в строке.

Вот код, на который удаляется ссылка для этой конкретной строки:

// delete from table
if ($_GET['del'] == 'true') { // cast id as int for security $product_code = $_GET['product_code']; $fileas = mssql_fetch_array(mssql_query("select product_img_name from products where product_code = $product_code")); if (file_exists("img/$fileas")) { unlink("img/$fileas"); } $file38 = mssql_fetch_array(mssql_query("select specsheet from products where product_code = $product_code")); if (file_exists("spechsheets/$file38")) { unlink("specsheets/$file38"); } // delete row from table $sql = "DELETE FROM products WHERE product_code = '$product_code'"; $result = mssql_query($sql, $conn) or die(); } // end if del

Спасибо за любую помощь. Вся помощь очень ценится.

1 ответ

Я не уверен, что ваша структура каталогов здесь, но, например, вы проверяете, существует ли файл $ filesas, но затем пытается отменить img/$ fileas, что не то же самое место. Если img/$ fileas - правильный путь, это также то, что вам нужно поместить в file_exists(), чтобы получить правильную проверку. Таким образом, это будет file_exists (img/$ fileas) и т.д.

licensed under cc by-sa 3.0 with attribution.