Вопрос

Я пишу класс, который принимает 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());
     }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top