Intereting Posts
получение mysql_insert_id () при использовании ON DUPLICATE KEY UPDATE с PHP Использовать кеширование браузера и CakePHP Как добавить прослушиватель событий в динамически добавленное поле с помощью Symfony Forms Загрузите thubnails изображения с помощью Dropbox API для php PHP добавляет 45 минут к времени с помощью Loop Захват и управление данными электронной почты с помощью PHP Как я могу расшифровать зашифрованное значение MCRYPT_RIJNDAEL_256 в C #, которое было зашифровано mcrypt в PHP? Symfony 3: Как перенаправить из InteractiveLoginEvent-прослушивателя PHP cURL, как добавить значение User Agent или прервать серверы, блокирующие запросы cURL? XML: сохранение нескольких значений дочернего узла в php-массив Форма Ajax не может предотвратить перезагрузку страницы с помощью event.preventDefault (); Codeigniter: проверьте и заставьте одну страницу https: // PHP MYSQL INSERT не помогает ошибкам Выполнить функцию PHP из изображения события OnClick Как загрузить объект BitmapData прямо на мой сервер?

как php не записывает содержимое изображения на диск?

У меня есть код, который использует многочастную форму и объект файла HTML5 для загрузки изображения (или фильма, ppt и т. Д.) На сервер, где PHP получает его и записывает на диск. Однако PHP, похоже, вообще не записывает на диск.

Javascript:

function uploadFile (file, fileid) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { window["fn"+fileid] = xhr.responseText; $("progress"+fileid).innerHTML = "<a href=\""+window["fn"+fileid]+"\">"+window["fn"+fileid]+"</a>"; } } var a = new Element("div"); a.id = "progress"+fileid; a.setStyle("background-color", "#4682B4"); a.setStyle("height", "20px"); a.setStyle("width", "0px"); $("progress-wrapper").adopt(a); xhr.upload.onprogress = function(e, a) { var percent = Math.round((e.loaded*150)/e.total); var acperct = Math.round(percent/1.5); $("progress"+fileid).setStyle("width", percent); $("progress"+fileid).innerHTML = file.name+" "+acperct+"%"; } alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNNOPQRSTUVWXYZ1234567890".split(""); tmp_name = []; for (i = 0; i < 6; i++) tmp_name[i] = alpha[Math.floor(Math.random() * alpha.length)]; xhr.open("POST", "upload.php", true); xhr.setRequestHeader("Content-Type", "multipart/form-data"); xhr.setRequestHeader("size", file.size); xhr.setRequestHeader("name", file.name); xhr.setRequestHeader("type", file.type); xhr.setRequestHeader("tmp_name", ""+tmp_name.join("")); xhr.send(file); } 

PHP:

 <? function apache_request_headers() { foreach($_SERVER as $key=>$value) { if (substr($key,0,5)=="HTTP_") { $key=str_replace(" ","-",ucfirst(strtolower(str_replace("_","_",substr($key,5))))); $out[$key]=$value; }else{ $out[$key]=$value; } } return $out; } $headers = apache_request_headers(); $contents = file_get_contents("php://input"); echo $contents; $ffilename=$headers["tmp_name"].$headers["name"]; $all = array('png','jpeg','jpg','gif','mov','txt','wmv','pdf'); $fh = fopen("upload/".$ffilename, "w+"); fwrite($fh, $contents); fclose($fh); echo "upload/".$ffilename; ?> 

Случается, что в письменном файле или в текстовой upload/ нет ничего.

Что не так?