Я пытаюсь заставить эту ссылку работать:
<a href='{$_SERVER['PHP_SELF']}?del=true&product_code=".($row['product_code'])."' style='color:black;' onclick='return show_confirm();'>Delete</a>
Удаляет указанную строку из таблицы MSSQL с помощью функции while. В настоящее время нижний код работает нормально в том смысле, что он удаляет определенную строку из таблицы MSSQL, но я хотел бы, чтобы он также отвязывал файл из папки img
и другой файл из папки specsheets
.
Имя файла, который отсоединяется от img
, хранится в столбце product_img_name
для этой строки таблицы, а имя файла другого файла хранится в столбце specsheet
. В каждой строке таблицы есть эти два столбца, которые содержат уникальные имена файлов из файлов, расположенных в папках img
и specsheets
.
Пока что, когда я нажимаю «Удалить», я получаю следующие ошибки:
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
моего веб-сайта остаются и не удаляются вместе со строкой.
Вот код, когда нажимается ссылка на удаление для этой конкретной строки:
// 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
Спасибо за любую помощь. Вся помощь приветствуется.
if (file_exists($fileas)) {unlink("img/$fileas"); }
-- вы проверяете путь, а затем отвязываете совершенно другой путь..$fileas
!==img/$fileas
- person Rob W   schedule 26.03.2014unlink
. Функция отсоединения может работать не так, как вы думаете. Далее функцияunlink
возвращает True в случае успеха и False в случае неудачи; вы можете проверить, работает ли unlink как проверка перед удалением записи в MySQL - person wspurgin   schedule 26.03.2014