Перейти к содержанию
sedoff

Прошу прочтите,я устал уже бороться с этим!

Рекомендуемые сообщения

Доброго дня вам.

У меня проблема такая.

 

Опенкарт 1.5.6.1
Хостер - tmweb.ru (платный хостиг)

Проблема заключаеться в топ что при попытке что то загрузить через файловый менеджер на сайте через админку выходит вот такой лог ошибок!



SyntaxError: JSON.parse: Unable to parse value: <b>Warn
OK
<b>Warning</b>: json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument in <b>/home/s/sedoff14/public_html/admin/controller/common/filemanager.php</b> on line <b>150</b>[{"filename":"10627152.52ky1jgi9c.jpg","file":"10627152.52ky1jgi9c.jpg","size":"33.72KB"},{"filename":"111.jpg","file":"111.jpg","size":"99.91KB"},{"filename":"1111.jpg","file":"1111.jpg","size":"177.05KB"},{"filename":"123.jpeg","file":"123.jpeg","size":"13.09KB"},{"filename":"138475369738.jpg","file":"138475369738.jpg","size":"55.05KB"},{"filename":"1384753697815.jpg","file":"1384753697815.jpg","size":"55.42KB"},{"filename":"16781655.61e2r19w9t.jpg","file":"16781655.61e2r19w9t.jpg","size":"67.66KB"},{"filename":"276734141e7a6.jpg","file":"276734141e7a6.jpg","size":"8.3KB"},{"filename":"358994fc4ff2c61fdd3d31f1259cf662.jpg","file":"358994fc4ff2c61fdd3d31f1259cf662.jpg","size":"54.31KB"},{"filename":"3f0885f2026168c4b5f78a941d89289f.jpg","file":"3f0885f2026168c4b5f78a941d89289f.jpg","size":"54.52KB"},{"filename":"4068f7050d65999551396d1e462fce32.jpg","file":"4068f7050d65999551396d1e462fce32.jpg","size":"57.02KB"},{"filename":"52051-600x600.jpg","file":"52051-600x600.jpg","size":"19.95KB"},{"filename":"56686-jpg.jpg","file":"56686-jpg.jpg","size":"55.2KB"},{"filename":"566861-jpg.jpg","file":"566861-jpg.jpg","size":"61.24KB"},{"filename":"566862-jpg.jpg","file":"566862-jpg.jpg","size":"49.42KB"},{"filename":"566864-jpg.jpg","file":"566864-jpg.jpg","size":"56.4KB"},{"filename":"566865-jpg.jpg","file":"566865-jpg.jpg","size":"53.48KB"},{"filename":"56c141fa968efa5443c1880626ced678.jpg","file":"56c141fa968efa5443c1880626ced678.jpg","size":"48.22KB"},{"filename":"63284515.jpg","file":"63284515.jpg","size":"3.53KB"},{"filename":"75513.jpg","file":"75513.jpg","size":"13.88KB"},{"filename":"75ee2b47c0f2be35aa89a3b7465d30d7.jpeg","file":"75ee2b47c0f2be35aa89a3b7465d30d7.jpeg","size":"30.77KB"},{"filename":"82e4f7b1612ad025a9f99a127a152b3c.jpeg","file":"82e4f7b1612ad025a9f99a127a152b3c.jpeg","size":"36.5KB"},{"filename":"87d74ab85d3e2dff18516eb0ac861b88.jpeg","file":"87d74ab85d3e2dff18516eb0ac861b88.jpeg","size":"67.7KB"},{"filename":"92bc57742f23b68bfcffc386f5553dc0.jpeg","file":"92bc57742f23b68bfcffc386f5553dc0.jpeg","size":"30.72KB"},{"filename":"931d994ea2f4ee4bb9966442007d1541.jpg","file":"931d994ea2f4ee4bb9966442007d1541.jpg","size":"50.5KB"},{"filename":"Huawei_.png","file":"Huawei_.png","size":"107.32KB"},{"filename":"Untitled-2.jpg","file":"Untitled-2.jpg","size":"163.03KB"},{"filename":"Xinbo_dlja_iPhone_5_Yellow_278145.jpg","file":"Xinbo_dlja_iPhone_5_Yellow_278145.jpg","size":"37.03KB"},{"filename":"a5881ad6dfaa138a7ec39628f85045b1.jpeg","file":"a5881ad6dfaa138a7ec39628f85045b1.jpeg","size":"47.77KB"},{"filename":"cart.png","file":"cart.png","size":"421B"},{"filename":"d61bb336ea23cdacac61dbf5101f2763.jpeg","file":"d61bb336ea23cdacac61dbf5101f2763.jpeg","size":"38.27KB"},{"filename":"defWWault.jpeg","file":"defWWault.jpeg","size":"7.36KB"},{"filename":"default.jpeg","file":"default.jpeg","size":"6.12KB"},{"filename":null,"file":"","size":"13.09KB"},{"filename":"dept-shelf-iphone-4s.png","file":"dept-shelf-iphone-4s.png","size":"4.5KB"},{"filename":"dept-shelf-iphone-5s.png","file":"dept-shelf-iphone-5s.png","size":"4.2KB"},{"filename":"dept-shelf-iphone-acc.png","file":"dept-shelf-iphone-acc.png","size":"3.56KB"},{"filename":"display-apple-iphone-5-touchscreen-0-1.png","file":"display-apple-iphone-5-touchscreen-0-1.png","size":"20KB"},{"filename":"display-apple-iphone-5-touchscreen-0.png","file":"display-apple-iphone-5-touchscreen-0.png","size":"11.31KB"},{"filename":"display-apple-iphone-5-touchscreen-2-1.png","file":"display-apple-iphone-5-touchscreen-2-1.png","size":"16.72KB"},{"filename":"display-apple-iphone-5-touchscreen-2.png","file":"display-apple-iphone-5-touchscreen-2.png","size":"10.74KB"},{"filename":"favicon.jpg","file":"favicon.jpg","size":"1.12KB"},{"filename":"fee6b707c89da2bbbd626167734c88aaf7c80d68.jpeg","file":"fee6b707c89da2bbbd626167734c88aaf7c80d68.jpeg","size":"248.82KB"},{"filename":"log12o.jpg","file":"log12o.jpg","size":"25.51KB"},{"filename":"log1o.jpg","file":"log1o.jpg","size":"25.51KB"},{"filename":"preview.jpg","file":"preview.jpg","size":"7.43KB"},{"filename":"qTCCMik7haM.jpg","file":"qTCCMik7haM.jpg","size":"11.19KB"},{"filename":"to111p.jpg","file":"to111p.jpg","size":"146.38KB"},{"filename":"to11p.jpg","file":"to11p.jpg","size":"148.72KB"},{"filename":"top.jpg","file":"top.jpg","size":"158.48KB"},{"filename":"twigcase_4.jpg","file":"twigcase_4.jpg","size":"10.82KB"},{"filename":"twigcase_warming_1.jpg","file":"twigcase_warming_1.jpg","size":"99.64KB"}]

Вот файл filemanager.php



<?php
class ControllerCommonFileManager extends Controller {
	private $error = array();
	
	public function index() {
		$this->load->language('common/filemanager');
		
		$this->data['title'] = $this->language->get('heading_title');
		
		if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
			$this->data['base'] = HTTPS_SERVER;
		} else {
			$this->data['base'] = HTTP_SERVER;
		}
		
		$this->data['entry_folder'] = $this->language->get('entry_folder');
		$this->data['entry_move'] = $this->language->get('entry_move');
		$this->data['entry_copy'] = $this->language->get('entry_copy');
		$this->data['entry_rename'] = $this->language->get('entry_rename');
		
		$this->data['button_folder'] = $this->language->get('button_folder');
		$this->data['button_delete'] = $this->language->get('button_delete');
		$this->data['button_move'] = $this->language->get('button_move');
		$this->data['button_copy'] = $this->language->get('button_copy');
		$this->data['button_rename'] = $this->language->get('button_rename');
		$this->data['button_upload'] = $this->language->get('button_upload');
		$this->data['button_refresh'] = $this->language->get('button_refresh');
		$this->data['button_refresh'] = $this->language->get('button_refresh'); 
		$this->data['button_submit'] = $this->language->get('button_submit'); 
		
		$this->data['error_select'] = $this->language->get('error_select');
		$this->data['error_directory'] = $this->language->get('error_directory');
		
		$this->data['token'] = $this->session->data['token'];
		
		$this->data['directory'] = HTTP_IMAGE . 'data/';
				
		$this->load->model('tool/image');

		$this->data['no_image'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);
		
		if (isset($this->request->get['field'])) {
			$this->data['field'] = $this->request->get['field'];
		} else {
			$this->data['field'] = '';
		}
		
		if (isset($this->request->get['CKEditorFuncNum'])) {
			$this->data['fckeditor'] = $this->request->get['CKEditorFuncNum'];
		} else {
			$this->data['fckeditor'] = false;
		}
		
		$this->template = 'common/filemanager.tpl';
		
		$this->response->setOutput($this->render());
	}	
	
	public function image() {
		$this->load->model('tool/image');
		
		if (isset($this->request->get['image'])) {
			$this->response->setOutput($this->model_tool_image->resize(html_entity_decode($this->request->get['image'], ENT_QUOTES, 'UTF-8'), 100, 100));
		}
	}
	
	public function directory() {	
		$json = array();
		
		if (isset($this->request->post['directory'])) {
			$directories = glob(rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->post['directory']), '/') . '/*', GLOB_ONLYDIR); 
			
			if ($directories) {
				$i = 0;
			
				foreach ($directories as $directory) {
					$json[$i]['data'] = basename($directory);
					$json[$i]['attributes']['directory'] = utf8_substr($directory, strlen(DIR_IMAGE . 'data/'));
					
					$children = glob(rtrim($directory, '/') . '/*', GLOB_ONLYDIR);
					
					if ($children)  {
						$json[$i]['children'] = ' ';
					}
					
					$i++;
				}
			}		
		}
		
		$this->response->setOutput(json_encode($json));		
	}
	
	public function files() {
		$json = array();
		
		if (!empty($this->request->post['directory'])) {
			$directory = DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->post['directory']);
		} else {
			$directory = DIR_IMAGE . 'data/';
		}
		
		$allowed = array(
			'.jpg',
			'.jpeg',
			'.png',
			'.gif'
		);
		
		$files = glob(rtrim($directory, '/') . '/*');
		
		if ($files) {
			foreach ($files as $file) {
				if (is_file($file)) {
					$ext = strrchr($file, '.');
				} else {
					$ext = '';
				}	
				
				if (in_array(strtolower($ext), $allowed)) {
					$size = filesize($file);
		
					$i = 0;
		
					$suffix = array(
						'B',
						'KB',
						'MB',
						'GB',
						'TB',
						'PB',
						'EB',
						'ZB',
						'YB'
					);
		
					while (($size / 1024) > 1) {
						$size = $size / 1024;
						$i++;
					}
						
					$json[] = array(
						'filename' => basename($file),
						'file'     => utf8_substr($file, utf8_strlen(DIR_IMAGE . 'data/')),
						'size'     => round(utf8_substr($size, 0, utf8_strpos($size, '.') + 4), 2) . $suffix[$i]
					);
				}
			}
		}
		
		$this->response->setOutput(json_encode($json));	
	}	
	
	public function create() {
		$this->load->language('common/filemanager');
				
		$json = array();
		
		if (isset($this->request->post['directory'])) {
			if (isset($this->request->post['name']) || $this->request->post['name']) {
				$directory = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->post['directory']), '/');							   
				
				if (!is_dir($directory)) {
					$json['error'] = $this->language->get('error_directory');
				}
				
				if (file_exists($directory . '/' . str_replace('../', '', $this->request->post['name']))) {
					$json['error'] = $this->language->get('error_exists');
				}
			} else {
				$json['error'] = $this->language->get('error_name');
			}
		} else {
			$json['error'] = $this->language->get('error_directory');
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}
		
		if (!isset($json['error'])) {	
			mkdir($directory . '/' . str_replace('../', '', $this->request->post['name']), 0777);
			
			$json['success'] = $this->language->get('text_create');
		}	
		
		$this->response->setOutput(json_encode($json));
	}
	
	public function delete() {
		$this->load->language('common/filemanager');
		
		$json = array();
		
		if (isset($this->request->post['path'])) {
			$path = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', html_entity_decode($this->request->post['path'], ENT_QUOTES, 'UTF-8')), '/');
			 
			if (!file_exists($path)) {
				$json['error'] = $this->language->get('error_select');
			}
			
			if ($path == rtrim(DIR_IMAGE . 'data/', '/')) {
				$json['error'] = $this->language->get('error_delete');
			}
		} else {
			$json['error'] = $this->language->get('error_select');
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}
		
		if (!isset($json['error'])) {
			if (is_file($path)) {
				unlink($path);
			} elseif (is_dir($path)) {
				$this->recursiveDelete($path);
			}
			
			$json['success'] = $this->language->get('text_delete');
		}				
		
		$this->response->setOutput(json_encode($json));
	}

	protected function recursiveDelete($directory) {
		if (is_dir($directory)) {
			$handle = opendir($directory);
		}
		
		if (!$handle) {
			return false;
		}
		
		while (false !== ($file = readdir($handle))) {
			if ($file != '.' && $file != '..') {
				if (!is_dir($directory . '/' . $file)) {
					unlink($directory . '/' . $file);
				} else {
					$this->recursiveDelete($directory . '/' . $file);
				}
			}
		}
		
		closedir($handle);
		
		rmdir($directory);
		
		return true;
	}

	public function move() {
		$this->load->language('common/filemanager');
		
		$json = array();
		
		if (isset($this->request->post['from']) && isset($this->request->post['to'])) {
			$from = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', html_entity_decode($this->request->post['from'], ENT_QUOTES, 'UTF-8')), '/');
			
			if (!file_exists($from)) {
				$json['error'] = $this->language->get('error_missing');
			}
			
			if ($from == DIR_IMAGE . 'data') {
				$json['error'] = $this->language->get('error_default');
			}
			
			$to = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', html_entity_decode($this->request->post['to'], ENT_QUOTES, 'UTF-8')), '/');

			if (!file_exists($to)) {
				$json['error'] = $this->language->get('error_move');
			}	
			
			if (file_exists($to . '/' . basename($from))) {
				$json['error'] = $this->language->get('error_exists');
			}
		} else {
			$json['error'] = $this->language->get('error_directory');
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}
		
		if (!isset($json['error'])) {
			rename($from, $to . '/' . basename($from));
			
			$json['success'] = $this->language->get('text_move');
		}
		
		$this->response->setOutput(json_encode($json));
	}	
	
	public function copy() {
		$this->load->language('common/filemanager');
		
		$json = array();
		
		if (isset($this->request->post['path']) && isset($this->request->post['name'])) {
			if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 255)) {
				$json['error'] = $this->language->get('error_filename');
			}
				
			$old_name = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', html_entity_decode($this->request->post['path'], ENT_QUOTES, 'UTF-8')), '/');
			
			if (!file_exists($old_name) || $old_name == DIR_IMAGE . 'data') {
				$json['error'] = $this->language->get('error_copy');
			}
			
			if (is_file($old_name)) {
				$ext = strrchr($old_name, '.');
			} else {
				$ext = '';
			}		
			
			$new_name = dirname($old_name) . '/' . str_replace('../', '', html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8') . $ext);
																			   
			if (file_exists($new_name)) {
				$json['error'] = $this->language->get('error_exists');
			}			
		} else {
			$json['error'] = $this->language->get('error_select');
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}	
		
		if (!isset($json['error'])) {
			if (is_file($old_name)) {
				copy($old_name, $new_name);
			} else {
				$this->recursiveCopy($old_name, $new_name);
			}
			
			$json['success'] = $this->language->get('text_copy');
		}
		
		$this->response->setOutput(json_encode($json));	
	}

	function recursiveCopy($source, $destination) { 
		$directory = opendir($source); 
		
		@mkdir($destination); 
		
		while (false !== ($file = readdir($directory))) {
			if (($file != '.') && ($file != '..')) { 
				if (is_dir($source . '/' . $file)) { 
					$this->recursiveCopy($source . '/' . $file, $destination . '/' . $file); 
				} else { 
					copy($source . '/' . $file, $destination . '/' . $file); 
				} 
			} 
		} 
		
		closedir($directory); 
	} 

	public function folders() {
		$this->response->setOutput($this->recursiveFolders(DIR_IMAGE . 'data/'));	
	}
	
	protected function recursiveFolders($directory) {
		$output = '';
		
		$output .= '<option value="' . utf8_substr($directory, strlen(DIR_IMAGE . 'data/')) . '">' . utf8_substr($directory, strlen(DIR_IMAGE . 'data/')) . '</option>';
		
		$directories = glob(rtrim(str_replace('../', '', $directory), '/') . '/*', GLOB_ONLYDIR);
		
		foreach ($directories  as $directory) {
			$output .= $this->recursiveFolders($directory);
		}
		
		return $output;
	}
	
	public function rename() {
		$this->load->language('common/filemanager');
		
		$json = array();
		
		if (isset($this->request->post['path']) && isset($this->request->post['name'])) {
			if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 255)) {
				$json['error'] = $this->language->get('error_filename');
			}
				
			$old_name = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', html_entity_decode($this->request->post['path'], ENT_QUOTES, 'UTF-8')), '/');
			
			if (!file_exists($old_name) || $old_name == DIR_IMAGE . 'data') {
				$json['error'] = $this->language->get('error_rename');
			}
			
			if (is_file($old_name)) {
				$ext = strrchr($old_name, '.');
			} else {
				$ext = '';
			}		
			
			$new_name = dirname($old_name) . '/' . str_replace('../', '', html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8') . $ext);
																			   
			if (file_exists($new_name)) {
				$json['error'] = $this->language->get('error_exists');
			}			
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}
		
		if (!isset($json['error'])) {
			rename($old_name, $new_name);
			
			$json['success'] = $this->language->get('text_rename');
		}
		
		$this->response->setOutput(json_encode($json));
	}
	
	public function upload() {
		$this->load->language('common/filemanager');
		
		$json = array();
		
		if (isset($this->request->post['directory'])) {
			if (isset($this->request->files['image']) && $this->request->files['image']['tmp_name']) {
				$filename = basename(html_entity_decode($this->request->files['image']['name'], ENT_QUOTES, 'UTF-8'));
				
				if ((strlen($filename) < 3) || (strlen($filename) > 255)) {
					$json['error'] = $this->language->get('error_filename');
				}
					
				$directory = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->post['directory']), '/');
				
				if (!is_dir($directory)) {
					$json['error'] = $this->language->get('error_directory');
				}
				
				if ($this->request->files['image']['size'] > 300000) {
					$json['error'] = $this->language->get('error_file_size');
				}
				
				$allowed = array(
					'image/jpeg',
					'image/pjpeg',
					'image/png',
					'image/x-png',
					'image/gif',
					'application/x-shockwave-flash'
				);
						
				if (!in_array($this->request->files['image']['type'], $allowed)) {
					$json['error'] = $this->language->get('error_file_type');
				}
				
				$allowed = array(
					'.jpg',
					'.jpeg',
					'.gif',
					'.png',
					'.flv'
				);
						
				if (!in_array(strtolower(strrchr($filename, '.')), $allowed)) {
					$json['error'] = $this->language->get('error_file_type');
				}

				if ($this->request->files['image']['error'] != UPLOAD_ERR_OK) {
					$json['error'] = 'error_upload_' . $this->request->files['image']['error'];
				}			
			} else {
				$json['error'] = $this->language->get('error_file');
			}
		} else {
			$json['error'] = $this->language->get('error_directory');
		}
		
		if (!$this->user->hasPermission('modify', 'common/filemanager')) {
      		$json['error'] = $this->language->get('error_permission');  
    	}
		
		if (!isset($json['error'])) {	
			if (@move_uploaded_file($this->request->files['image']['tmp_name'], $directory . '/' . $filename)) {		
				$json['success'] = $this->language->get('text_uploaded');
			} else {
				$json['error'] = $this->language->get('error_uploaded');
			}
		}
		
		$this->response->setOutput(json_encode($json));
	}
	
/*
*********************************************
*  ImageManager+ for Opencart               *
* 										    *
*  by Salab, based on KayLohn 2012 kaylohn @ gmail . com       *
* 										    *
*********************************************
*	For Version : 1.5.3.1
*/
//plupload code
public function multi() {
		// HTTP headers for no cache etc
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

// Settings
//$targetDir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";

//$targetDir = '../image/data/';
$targetDir = rtrim(DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->get['directory']), '/');

//$cleanupTargetDir = false; // Remove old files
//$maxFileAge = 60 * 60; // Temp file age in seconds

// 5 minutes execution time
@set_time_limit(5 * 60);

// Uncomment this one to fake upload time
// usleep(5000);

// Get parameters
$chunk = isset($_REQUEST["chunk"]) ? $_REQUEST["chunk"] : 0;
$chunks = isset($_REQUEST["chunks"]) ? $_REQUEST["chunks"] : 0;
$fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';

// Clean the fileName for security reasons
$fileName = preg_replace('/[^\w\._]+/', '', $fileName);

// Make sure the fileName is unique but only if chunking is disabled
if ($chunks < 2 && file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName)) {
	$ext = strrpos($fileName, '.');
	$fileName_a = substr($fileName, 0, $ext);
	$fileName_b = substr($fileName, $ext);

	$count = 1;
	while (file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName_a . '_' . $count . $fileName_b))
		$count++;

	$fileName = $fileName_a . '_' . $count . $fileName_b;
}

// Create target dir
if (!file_exists($targetDir))
	@mkdir($targetDir);

// Remove old temp files
/* this doesn't really work by now
	
if (is_dir($targetDir) && ($dir = opendir($targetDir))) {
	while (($file = readdir($dir)) !== false) {
		$filePath = $targetDir . DIRECTORY_SEPARATOR . $file;

		// Remove temp files if they are older than the max age
		if (preg_match('/\\.tmp$/', $file) && (filemtime($filePath) < time() - $maxFileAge))
			@unlink($filePath);
	}

	closedir($dir);
} else
	die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
*/

// Look for the content type header
if (isset($_SERVER["HTTP_CONTENT_TYPE"]))
	$contentType = $_SERVER["HTTP_CONTENT_TYPE"];

if (isset($_SERVER["CONTENT_TYPE"]))
	$contentType = $_SERVER["CONTENT_TYPE"];

// Handle non multipart uploads older WebKit versions didn't support multipart in HTML5
if (strpos($contentType, "multipart") !== false) {
	if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
		// Open temp file
		$out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab");
		if ($out) {
			// Read binary input stream and append it to temp file
			$in = fopen($_FILES['file']['tmp_name'], "rb");

			if ($in) {
				while ($buff = fread($in, 4096))
					fwrite($out, $buff);
			} else
				die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
			fclose($in);
			fclose($out);
			@unlink($_FILES['file']['tmp_name']);
		} else
			die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
	} else
		die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}');
} else {
	// Open temp file
	$out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab");
	if ($out) {
		// Read binary input stream and append it to temp file
		$in = fopen("php://input", "rb");

		if ($in) {
			while ($buff = fread($in, 4096))
				fwrite($out, $buff);
		} else
			die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');

		fclose($in);
		fclose($out);
	} else
		die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
}

// Return JSON-RPC response
die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');

		
	}	
} 
?>

Пробовал удалять vqmod и чистить кэш.Ошибка есть.

Пробовал ставить конфиги в php.ini.Ошибка есть.

magic_quotes_gpc = On;
register_globals = On;
default_charset	= UTF-8;
memory_limit = 64M;
max_execution_time = 36000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 172800;
allow_url_fopen = on;
;display_errors = 1;
;error_reporting = E_ALL;

Прошу вас помогите,я уже не знаю что делать,просмотрел все поиски!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

magic_quotes_gpc = Off;
register_globals = Off;

default_charset    = UTF-8;
memory_limit = 64M;
max_execution_time = 18000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
;display_errors = 1;
;error_reporting = E_ALL;

 

Плюс на хостинге глобальные должны такие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а... на хосте есть файлы с кириллицей в имени...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а... на хосте есть файлы с кириллицей в имени...

Посмотрел запрос - вроде нет.

Это как обычно "кавычки", они в 99% случаев "виноваты" в ошибках парсинга json и un-сериальзации массивов данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел запрос - вроде нет.

Это как обычно "кавычки", они в 99% случаев "виноваты" в ошибках парсинга json и un-сериальзации массивов данных

Вопрос решился удалением пару фалов с русскими или татарскими буквами :)

Так что всем спасибо.

Тут все заняты же.

 

РЕШЕНИЕ

Удалите в image/data и image/кеш все что с русскими буквами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а... на хосте есть файлы с кириллицей в имени...

 

Вопрос решился удалением пару фалов с русскими или татарскими буквами :)

Так что всем спасибо.

Тут все заняты же.

 

 

Где читаем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где читаем?

В yandex.ru google а ты где ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.