era1fgg
Новичок
Доброго времени суток! Использую скрипт PDO Crud на локальном веб сервере. Проблема в том, что при загрузке файлов на сервер русские имена присваиваются в виде кракозябров. Англ буквы и цифры в именах работают нормально. Собственно сам код загрузчика:
PHP:
/**
* Upload files using html file control. You can apply various restriction to make file uploading more secure.
* @param string $fileName file upload control
* @param string $fileUploadPath Path to upload file
* @param int $maxSize Max size allowed, default is 10000000
* @param array $allowedFileTypes Allowed file types
*
* return boolean return true if file uploaded successfully else false
*/
function fileUpload($fileName, $fileUploadPath = "", $maxSize = 10000000, $allowedFileTypes = array()) {
if ($this->checkValidFileUpload($fileName, $fileUploadPath, $maxSize, $allowedFileTypes)) {
if (!is_dir($fileUploadPath) && $fileUploadPath) {
mkdir($fileUploadPath);
}
$destinationFileName = time() . "_" . $fileName["name"];
$destinationPath = $fileUploadPath . $destinationFileName;
if (move_uploaded_file($fileName["tmp_name"], $destinationPath)) {
$destinationPath = $fileUploadPath . $destinationFileName;
$fileExt = $this->getFileExtension($destinationPath);
if (in_array($fileExt, array("jpg", "gif", "png"))) {
$newFileName = substr($destinationFileName, 0, strlen($destinationFileName) - strlen($fileExt) - 1);
require_once(dirname(__FILE__) . "/library/abeautifulsite/SimpleImage.php");
$img = new SimpleImage();
if (isset($this->imageDimensions)) {
foreach ($this->imageDimensions as $width => $height) {
$resizeImg = $newFileName . "_" . $width . "_" . $height . "." . $fileExt;
$newImage = $img->load($destinationPath)->resize($width, $height)->save($fileUploadPath . $resizeImg);
}
}
if (isset($this->watermark)) {
$img->load($destinationPath)->overlay($this->watermark["overlay"], $this->watermark["position"], $this->watermark["opacity"], $this->watermark["xOffset"], $this->watermark["yOffset"])->save($destinationPath);
}
if (isset($this->imageFlip)) {
$img->load($destinationPath)->flip($this->imageFlip)->save($destinationPath);
}
if (isset($this->imageThumbnail)) {
$img->load($destinationPath)->thumbnail($this->imageThumbnail["width"], $this->imageThumbnail["height"], $this->imageThumbnail["focal"])->save($destinationPath);
}
if (isset($this->imageCrop)) {
$img->load($destinationPath)->crop($this->imageCrop["x1"], $this->imageCrop["y1"], $this->imageCrop["x2"], $this->imageCrop["y2"])->save($destinationPath);
}
if (isset($this->imageText)) {
$imgText = $this->imageText;
$img->load($destinationPath)->text($imgText["text"], $imgText["font_file"], $imgText["font_size"], $imgText["color"], $imgText["position"], $imgText["x_offset"], $imgText["y_offset"], $imgText["stroke_color"], $imgText["stroke_size"], $imgText["alignment"], $imgText["letter_spacing"])->save($destinationPath);
}
}
return $this->settings["uploadURL"] . $destinationFileName;
} else
return false;
}
return false;
}