PHP Image Upload Object не создаст каталог на Windows
-
26-09-2019 - |
Вопрос
Я пишу класс, который принимает Adface_id и A $ _Files Array, как это конструктор. Класс сохраняет эти переменные и использует их для создания нового каталога с именем Product_ID и попытки скопировать файл Temp в мой указанный каталог.
По какой-то причине мой класс даже не добирается до создания каталога (который должен произойти в конструкторе)
Вот ссылка на мой код: http://pastie.org/955454.
Решение
Это может быть проблема разрешений. Вы говорите, что это сервер на базе Windows? У тебя есть эта машина? Вы используете выделенный сервер? Вы используете общий сервер?
Ответ на этот вопрос действительно зависит от информации, заданной теми. Если у вас есть машина, вы можете просто перейти к каталогу на жестком диске, который вы хотите писать и открыть его разрешения, которые будут записаны. Если он посвящен, вероятно, есть достаточно легкое средство доступа к структуре файла и изменение его настроек разрешений там. Если это делится, то же самое.
Другие советы
Похоже, что вы используете абсолютный путь в этом каталоге этого $-> в этом каталоге в конструкторе, другими словами, он будет рассматриваться как C: Images Загрузка (или любой диск, который вы запускаете на сайте). Если вы имеете в виду, что это будет путь к типу URI, вам нужно добавить вашу Webroot на путь:
$this->directory = $_SERVER['DOCUMENT_ROOT'] . '/images/upload/' . $this->prod_id
Вы также можете проверить, что возвращается MKDIR (). Это ложь на неудачу, после чего вы могли бы проверить error_get_last()
(Php> = 5.2), чтобы точно посмотреть, почему он не может.
} else {
$ret = mkdir($this->directory, 0755, true);
if ($ret === FALSE) {
die("mkdir() failed with: " . error_get_last());
}
}