Форма загрузки картинки.

[Удален]
299

В одном скрипте, есть такая форма загрузки картинок

public function upload_image() {

if (isset($_FILES['image']['name'])) {
list($sw,$sh) = explode('x',$this->getVariable('format'));
$data = getimagesize($_FILES['image']['tmp_name']);
list($width,$height) = $data;
if ($data['mime'] == 'image/jpeg' || $data['mime'] == 'image/gif') {
if ($width > $sw || $height > $sh) {
$new = imagecreatetruecolor($sw,$sh);
if ($data['mime'] == 'image/jpeg' || $data['mime'] == 'image/jpg') {
$old = imagecreatefromjpeg($_FILES['image']['tmp_name']);
imagecopyresized($new,$old,0,0,0,0,$sw,$sh,$width,$height);
imagejpeg($new,$_FILES['image']['tmp_name'],100);
}elseif($data['mime'] == 'image/gif'){
$old = imagecreatefromgif($_FILES['image']['tmp_name']);
imagecopyresized($new,$old,0,0,0,0,$sw,$sh,$width,$height);
imagegif($new,$_FILES['image']['tmp_name']);
}elseif($data['mime'] == 'image/png'){
$old = imagecreatefrompng($_FILES['image']['tmp_name']);
imagecopyresized($new,$old,0,0,0,0,$sw,$sh,$width,$height);
imagepng($new,$_FILES['image']['tmp_name']);
}
}
if (!copy($_FILES['image']['tmp_name'],$_SERVER['DOCUMENT_ROOT'].'/data/informers/'.$this->objectId.'/'.$_FILES['image']['name'])) {
$this->session->set_notice('Невозможно загрузить картинку',ERROR);
return FALSE;
}
@unlink($_FILES['image']['tmp_name']);
return TRUE;
}else{
$this->session->set_notice('Изображение имеет неподдерживаемый формат',ERROR);
return FALSE;
}
}else{
$this->session->set_notice('Нет картинки',ERROR);
return FALSE;
}
}

Проблема в следующем, если у картинки название на кирилице типа картинка.jpg, то она не грузится на хостинг.

Если меняем на латиницу то всё норм.

Кто может помочь починить?

И ещё нужен маленький мод формы. Картинки на хостинг загружаются с таким же название как оригинал, а хотелось бы чтобы при загрузке они меняли название на kjlhaskd3726ihasdjJSHK.jpg

С уважением Felix.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий