Все время пишет Во время загрузки файла произошла ошибка код Код (Text): <div id='load_form_div'> <div class='load_form_title'>ЗАГРУЗИТЬ ФОТО<span id='close'>закрыть</span></div> <form id='imageform' method='post' enctype='multipart/form-data' target='hiddenframe' action='func/load_photo.php' onsubmit='hideBtn();'> <div id='imageloadstatus'> </div> <div id='imageloadbutton'> <input type='file' id='ava_input' name='ava_input' multiple='true' /><input type='submit' name='upload' id='upload' value='Загрузить' /> </div> </form> <iframe id='hiddenframe' name='hiddenframe' style='width:0px; height:0px; border:0px'></iframe> </div> Код (Text): function hideBtn(){ $('#imageloadbutton').hide(); $('#imageloadstatus').html("<img src='img/loader.gif' alt='Uploading....'/>"); } function handleResponse(mes){ $('#imageloadbutton').show(); if (mes.errors != null){ $('#imageloadstatus').html("Возникли ошибки во время загрузки файла: " + mes.errors); } else{ $('#imageloadstatus').html("Файл " + mes.name + " загружен"); } } Код (Text): <?php if($_SERVER['REQUEST_METHOD']=='POST'){ if($_SERVER['SERVER_NAME']=='asd.ru'){ header('Content-Type: text/html; charset=utf-8'); $nameofpage = basename(__FILE__); session_start(); include("db.php"); if(isset($_POST['upload'])){ //Список разрешенных файлов $whitelist = array(".gif", ".jpeg", ".jpg", ".png"); $data = array(); $error = true; //Проверяем разрешение файла foreach($whitelist as $item){ if(preg_match("/$item\$/i",$_FILES['ava_input']['name'])){$error = false;} } //если нет ошибок, грузим файл if(!$error){ $folder = 'test/';//директория в которую будет загружен файл $uploadedFile = $folder.basename($_FILES['ava_input']['name']); if(is_uploaded_file($_FILES['ava_input']['tmp_name'])){ if(move_uploaded_file($_FILES['ava_input']['tmp_name'],$uploadedFile)){ $data = $_FILES['ava_input']; } else{ $data['errors'] = "Во время загрузки файла произошла ошибка"; } } else{ $data['errors'] = "Файл не загружен"; } } else{ $data['errors'] = 'Вы загружаете запрещенный тип файла'; } //Формируем js-файл $res = '<script type="text/javascript">'; $res .= "var data = new Object;"; foreach($data as $key => $value){ $res .= 'data.'.$key.' = "'.$value.'";'; } $res .= 'window.parent.handleResponse(data);'; $res .= "</script>"; echo $res; } else{ die("ERROR"); } } } ?>
кому интересно проблема решилась указанием полного пути к директории Код (Text): '/var/www/vhosts/looq.kz/httpdocs/test/'.basename($_FILES['ava_input']['name'])
Так это всегда надо делать обязательно! Я вообще относительные пути не использую. Ну только не надо вот так прямолинейно их прописывать! В php есть чудеснейшие константы __FILE__ (текущий обрабатываемый файл вместе с путём), __DIR__ (директория, содержащая текущий файл). Потом есть ещё такая прикольная шутка, как $_SERVER["DOCUMENT_ROOT"] - корневая директория сайта (последний нельзя использовать для скриптов, выполняющихся из командной строки).