0

私は画像をディレクトリに保存し、それらのパスをテーブルに保存しています。ユーザーが画像を削除すると、最初にディレクトリから削除され、次にそのリンクがテーブルから削除されるようにしたいと思います。私はこれにリンク解除機能を使用しました。レコードを選択するためのクエリ

$file_link_query="SELECT picture FROM pics_catalogue WHERE catalogue_id=".$_GET['catalogue_id'];

およびディレクトリから画像を削除するコード

mysql_select_db($database_connection, $connection);
  $file_link_result=mysql_query($file_link_query,$connection) or die(mysql_error());
  while($row=mysql_fetch_assoc($file_link_result))
  {echo $row['picture'];
      unlink("user_data/".$vendor_id."/".$row['picture']);}

この後、テーブルからデータを削除します

$pics_delete_query="DELETE FROM pics_catalogue WHERE catalogue_id=".$_GET['catalogue_id'];
$pics_delete_result=mysql_query($pics_delete_query,$connection) or die(mysql_error());

問題は、データベースからエントリを削除しますが、ファイルは削除しないことです。

4

2 に答える 2

0

フルパスを確認してください

unlink($ path);

于 2013-03-05T07:39:10.323 に答える
0

パスが間違っているか、ディレクトリへのアクセス許可がない可能性があります。チェックして確認します。権限がある場合は、パスが正しくない可能性があります。指定したパスを確認してください。現在の作業ディレクトリへの相対パスです。それ以外の場合は$_SERVER['DOCUMENT_ROOT']、パスを使用して追加することもできます。

于 2013-03-05T06:37:47.753 に答える