[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача картинок на сервер
McLotos
Добрый день.
Снова возникла проблема с загрузкой фото на сайт.
Не могу понять что не срабатывает (js или php)
Есть div
<div id="dropzone" name="photo"></div>

Обработчик
 dropzone = document.getElementById('dropzone');
maxFileSize = 100000;
if(!dropzone){}
else {
dropzone.ondragover = function() {
dropzone.style.ClassName='hover';
return false;
};

dropzone.ondragleave = function() {
dropzone.style.ClassName='';
return false;
};

dropzone.ondrop = function(event) {
event.preventDefault();
dropzone.style.ClassName='';
dropzone.style.ClassName='drop';

var file = event.dataTransfer.files;
for(i=0;i<file.length;i++)
{
if (file[i].size > maxFileSize) {
dropzone.innerHTML='Файл слишком большой! Размер файла: '+file[i].size+'. Разрешенный размер файла: '+maxFileSize;
dropzone.style.ClassName='error';
return false;
}
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', uploadProgress, false);
xhr.onreadystatechange = stateChange;
console.log(xhr.responseText);
xhr.open('POST', '/upload.php');
xhr.setRequestHeader('X-FILE-NAME', file[i].name);
xhr.send(file[i]);
}
}
;
}
function uploadProgress(event) {
var percent = parseInt(event.loaded / event.total * 100);
dropzone.innerHTML = 'Загрузка: ' + percent + '%';
}

function stateChange(event) {
console.log(event.responseText);
if (event.target.readyState == 4) {
console.log(event.currentTarget.responseText);
if (event.currentTarget.responseText == "is ok") {
dropzone.innerHTML='Загрузка успешно завершена!';
}
if(event.currentTarget.responseText == "fail") {
dropzone.innerHTML = 'Произошла ошибка!';
dropzone.style.ClassName = 'error';
}
}
}


и php

ini_set('post_max_size', '12000');
ini_set('memory_limit', '128M');
ini_set('file_uploads','On');
ini_set('upload_tmp_dir',$_SERVER['DOCUMENT_ROOT'].'/uploads/');
ini_set('upload_max_filesize','10000');
$uploaddir = 'datas/upload';
$uploadfile = $uploaddir . basename($_FILES['photo']['name']);

if (move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile)) {
echo "is ok";
} else {
echo "fail";
}

htaccess
php_value upload_tmp_dir /uploads

Права на папку стоят 777
А скрипт выводит в консоль fail
Хотя предыдущая версия php-части хотябы создавала файлы в папке, правда они были 0 байт и без расширения

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.