У меня есть настройка php на IIS и попытка реализовать загрузку файлов в CakePHP.Файл не загружается в PHP
Я выполнил необходимые правила для загрузки файлов, но каждый раз, когда я загружаю, я продолжаю получать ниже с помощью uploadError
. Что может быть неправильным, так как даже temp_name
пуст.
Первоначально думали IIS не имеют права на запись во временную папку, но она не работает, даже после того, как получили полные права на IIS_IUSRS
и IUSR
array(5) {
["name"]=>
string(14) "DSC02474_2.JPG"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
ФОРМА
<?php
echo $this->Form->create('User', array('class'=>'form-horizontal', 'action'=>'uploadProfilePicture', 'id'=>'change-picture', 'type'=>'file'));
echo $this->Form->input('id', array('value'=>$authUser['id']));
echo $this->Form->file('picture');
?>
<input type="submit" value="Upload" class="btn btn-info" name="submit">
<?php echo $this->Form->end(); ?>
HANDLER IN MODEL
public function uploadFile($check) {
$uploadData = array_shift($check);
if ($uploadData['size'] == 0 || $uploadData['error'] !== 0) {
return false;
}
$uploadFolder = APP.'uploads'.DS."profile-pictures";
$fileName = time()."_".$uploadData['name'];
$uploadPath = $uploadFolder . DS . $fileName;
if(!file_exists($uploadFolder)){
mkdir($uploadFolder);
}
if (move_uploaded_file($uploadData['tmp_name'], $uploadPath)) {
$this->set('picture', $fileName);
return true;
}
return false;
}
Можете ли вы добавить код, который вы используете для формы? –
сделано !. отредактировал вопрос – yomexzo