#php #linux #zend-framework
#php #linux #zend-framework
Вопрос:
public function deleteAllEmailRelatedFolders($clientID) {
$path = getcwd();
//Delete Email Inbox Attachments
$dir = $path . "cdndatainbox/$clientID";
//Delete Email Sent Attachments
$dir2 = $path . "cdndatasent/$clientID";
var_dump($dir);
var_dump($dir2);
$this->rrmdir($dir);
$this->rrmdir($dir2);
}
protected function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." amp;amp; $object != "..") {
if (filetype($dir . "/" . $object) == "dir")
$this->rrmdir($dir . "/" . $object);
else
unlink($dir . "/" . $object);
}
}
reset($objects);
rmdir($dir);
}
}
Когда я пытаюсь запустить rmdir на моем linux.Это работает некорректно.когда я запускаю его, сервер WAMP на моем локальном хосте.Это работает отлично.Пожалуйста, помогите мне решить эту проблему
Комментарии:
1. Убедитесь, что путь указан правильно.
$dir = $path . "cdndatainbox/$clientID";
. Я думаю, в Linux это должно быть что-то вроде$dir = $path . "/cdn/data/inbox/$clientID";
2. Да!! Дорогой, это работает!!!
3. Также проверьте, что ` ` должно быть записано ` \ `
4. рад, что он работает
Ответ №1:
Как указано shatheesh в комментарии, ваши пути неправильно отформатированы для Linux.
Измените ваши пути на:
//Delete Email Inbox Attachments
$dir = $path . "/cdn/data/inbox/$clientID";
//Delete Email Sent Attachments
$dir2 = $path . "/cdn/data/sent/$clientID";
Более подробная информация о путях каталогов Linux и о том, что они делают, доступна по адресу http://www.tecmint.com/linux-directory-structure-and-important-files-paths-explained /