Доброго времени суток. Помогите, пожалуйста, разрешить проблему. Есть страница, на ней пользователь выбирает для загрузки на сервер файлик со своего компьютера. Этот файл должен загрузиться на сервер, а его содержимое (отредактированное) должно придти в ответе от сервера без перезагрузки страницы.
Проблема заключается в составлении ajax запроса на сервер. Облазил все интернеты, нашел решение через форму и фрейм, оно не подходит. Нашел решение при использовании jquery, я не программист, с этой библиотекой еще не познакомился. Нужно решение исключительно на javascript и ajax.
Вот страничка:
<input style=" position:absolute;top:65px; border:1px solid red" type="file" name="myfile">
<input style=" position:absolute;top:95px; border:1px solid blue" type="button" value="Загрузить" onclick="get_data_of_file()">
<div id="div_result" style="position:absolute;top:125px; border:1px solid purple">Здесь должно появиться содержимое загруженного файла.</div>
Скрипт на странице:
var request;
function CreateRequest(){
var request=null;
try {request = new XMLHttpRequest();}
catch (e){
try{request=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){request=new ActiveXObject("Microsoft.XMLHTTP");}
}
return request;
}
function get_data_of_file(){
request=CreateRequest();
if(request==null){return;}
request.open("POST","upload.php",true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//...
request.onreadystatechange =
function(){
if(request.readyState == 4 && request.status == 200){
document.getElementById('div_result').innerHTML = request.responseText;
}
}
}
upload.php
$dir = '/uploads/';
$full_path = $_SERVER['DOCUMENT_ROOT'].$dir;
$file = $_FILES['myfile']['name'];
if(!is_dir($full_path)){
mkdir($full_path,0777);
}
if(move_uploaded_file($_FILES['myfile']['tmp_name'],$full_path.$file)){
readfile($full_path.$file);
}