Это мой php-код для удаления zip-файла:
$name = "zip_file_name"; chmod('./modules/',0777); unlink('./modules/'.$name.'.zip');
Здесь modules
– это папка с zip-файлом. Когда я написал этот код, я получил сообщение об ошибке:
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> <h4>A PHP Error was encountered</h4> <p>Severity: Warning</p> <p>Message: unlink(./modules/texts.zip) [<a href='function.unlink'>function.unlink</a>]: Permission denied</p> <p>Filename: controllers/super_admin.php</p> <p>Line Number: 590</p> </div>
Если в моем коде есть какая-либо ошибка?
Я также проверяю chmod
следующим образом:
chmod('./modules/'.$name.'.zip',0777);
Но у меня такая же ошибка определена выше.
Кроме того, вам придется менять разрешения на zip, чтобы сделать его доступным для записи первым
chmod('./modules/'.$name.'.zip',0666);
666 = чтение / запись для всех Убедитесь, что вернет true. Но поскольку вы не можете удалить файл, скорее всего, вы не сможете изменить его разрешение, так как Apache не является владельцем.
777 для родительского каталога требуется только для записи новых файлов в этот каталог, не влияя на операции, которые вы можете делать с уже существующими файлами.
$name = "zip_file_name"; $sPath = "./modules/" . $name . ".zip"; $aFilePath = explode("/", $sPath); $i = 0; $sLastFolder = ""; foreach ($aFilePath as $sFolder) { $i++; if (file_exists($sLastFolder . $sFolder) || is_dir($sLastFolder . $sFolder)) { $this->make_writeable($sLastFolder . $sFolder); $iOldumask = umask(0); // important part #1 chmod($sLastFolder . $sFolder, 0777); umask($iOldumask); // important part #2 $sLastFolder .= $sFolder . "/"; } } unlink($sPath);