Данным способом уже пробовал.
форма
<input type="file" id="uploadfile" name="uploadfile" onchange="insertim_img();" />
скрипт
<script>
var client = new XMLHttpRequest();
function insertim_img()
{
var file = document.getElementById("uploadfile");
/* Create a FormData instance */
var formData = new FormData();
/* Add the file */
formData.append("upload", file.files[0]);
client.open("post", "/adds/insert_img.php", true);
client.setRequestHeader("Content-Type", "multipart/form-data");
client.send(formData); /* Send to server */
}
/* Check the response status */
client.onreadystatechange = function()
{
if (client.readyState == 4 && client.status == 200)
{
alert(client.statusText);
}
}
</script>
php файл
<?php
$image=$_FILES['upload']['name'];
if ($image)
{
$filename = stripslashes($_FILES['upload']['name']);
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
echo 'Неверный формат файла...';
}
else
{
$size=filesize($_FILES['upload']['tmp_name']);
if ($size > 3145728)
{
echo 'Размер файла больше <b>3</b>Mb <br/>';
}
$image_name=trans($title).'.'.$extension;
$newname=$_SERVER['DOCUMENT_ROOT']."/img/".$image_name;
$copied = copy($_FILES['upload']['tmp_name'], $newname);
}}
?>
Не работает, в хроме можно ошибки посмотреть. Вот скриншот