CMSソリューションの1つに複数削除機能があり、次のコードがあります。
public function actionDelete() {
if(Yii::app()->request->isPostRequest) {
if(isseT($_POST['submit'])) {
if(isset($_POST['delete']) && (sizeof($_POST['delete']))) {
foreach($_POST['delete'] as $i => $items) {
$model[$i] = Pages::model()->findByPk((int)$items);
if(!is_null($model[$i])) {
$image[$i] = $model[$i]->image;
if($model[$i]->delete()) {
if(!unlink($image[$i])) {
die('Unable to delete Page Image.');
}
}
}
}
}
}
}
$this->redirect('/admin/pages');
}
これはYiiコントローラーのアクションであり、すべてのページで「画像」フィールド/列に値が入力されています。
投稿データを使用してこのアクションを呼び出すと、実際にはデータベーステーブルからレコードが削除されますが、ファイルシステムから画像と画像は削除されず、スクリプトはこの時点まで到達しません。die('Unable to delete Page Image.');
PHPがunlink
関数を削除して無視する可能性はありますか?主に本番サーバー/ライブサーバーでですか?