Задача стоит в том чтоб добавить возможность загрузки файлов используя js заместо указания form в html. | Код | <script type="text/javascript"> function copyfileName() { var div = $('<br/>'); var name; var file = document.upload.elements["file[]"]; var file_name = document.upload.elements["fileName[]"]; var alt = document.upload.elements["short"]; if (file.length > 0){ for (i = 0; (i < file.length); i++) { if (file_name[i].value != file[i].value){ file_name[i].value = file[i].value; name = file_name[i].value.slice(file_name[i].value.lastIndexOf("\\")+1,file_name[i].value.lastIndexOf('.')); alt.value = alt.value+name.replace(/_|-/g," "); } } }else{ file_name.value = file.value; name = file_name.value.slice(file_name.value.lastIndexOf("\\")+1,file_name.value.lastIndexOf('.')); alt.value = alt.value+name.replace(/_|-/g," "); } } </script> <table> <form enctype="multipart/form-data" action="upload.php" method="post" class="upform" name="upload" id="upload"> <input type="text" id="fileName" name="fileName[]" readonly="readonly" /> <input type="file" name="file[]" id="file" onchange="javascript: copyfileName()" /><br> <textarea type="text" name="short" onclick=setFieldName(this.name) id="short_story" style="width:650px; border-radius: 0px 0px 3px 3px;" rows="7"></textarea> </form> </table>
|
Php через который будит загрузка на сервер. | Код | <?php $max_filesize = 2097152; $allowed_filetypes = array('.jpg','.jpeg','.gif','.png'); $filename = $_FILES['userfile']['name']; $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); $file_strip = str_replace(" ","_",$filename); $upload_path = 'uploads/fpsimages/';
if(!in_array($ext,$allowed_filetypes)) { die('<div class="error">На сайте зпрещено загружать файлы с таким форматом.</div>'); } if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) { die('<div class="error">Файл, который Вы попытались загрузить, слишком большой.</div>'); } if(!is_writable($upload_path)) { die('<div class="error">Скоро поправим</div>'); } if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $file_strip)) { echo '<div class="success">'. $file_strip .'</div>'; } else { echo '<div class="error">'. $file_strip .'Не был загружен, пожалуйста поробуйте еще.</div>'; } ?>
|
Нужно процесс загрузки начался сразу после выбора файла. Помогите 2-ой день сижу ничего не входит. Это сообщение отредактировал(а) Predator199 - 15.6.2012, 21:43
|