$ImageExt = substr($ImageName, strrpos($ImageName, '.'));
 $ImageExt = str_replace('.', '', $ImageExt);
 //remove extension from filename
 $ImageName = preg_replace("/\\.[^.\\s]{3,4}\$/", "", $ImageName);
 //Construct a new name with random number and extension.
 //$NewImageName = $ImageName.'-'.$RandomNumber.'.'.$ImageExt;
 $NewImageName = $ImageName . '.' . $ImageExt;
 //set the Destination Image
 $thumb_DestRandImageName = $DestinationDirectory . $ThumbPrefix . $NewImageName;
 //Thumbnail name with destination directory
 $DestRandImageName = $DestinationDirectory . $NewImageName;
 // Image with destination directory
 //Resize image to Specified Size by calling resizeImage function.
 if (resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
     //Create a square Thumbnail right after, this time we are using cropImage() function
     if (!cropImage($CurWidth, $CurHeight, $ThumbSquareSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
         echo 'Error Creating thumbnail';
     }
     if (isset($_POST['idProduct'])) {
         //echo $_POST['id'];
         $idProduct = $_POST['idProduct'];
         require_once "Storage.php";
         $storage = new Storage();
         $data = array("idProduct" => $idProduct, "thumbnail" => $ThumbPrefix . $NewImageName, "thumb" => $NewImageName);
         $storage = new Storage();
         echo $storage->addNewImageProduct($data);
     }
     $arr = array('thumbnail' => $ThumbPrefix . $NewImageName, 'thumb' => $NewImageName);
     echo json_encode($arr);
     /*
     // Insert info into database table!
Beispiel #2
0
<?php

//等比缩小图片,并截出中心的内容,大小为$destWidth, $destHieght, 保存到$destFile
function cropImage($origFile, $destFile, $destWidth, $destHieght, $quality = 80)
{
    $image = imagecreatefromjpeg($origFile);
    $destWidth = 200;
    $destHieght = 200;
    $width = imagesx($image);
    $height = imagesy($image);
    $original_aspect = $width / $height;
    $thumb_aspect = $destWidth / $destHieght;
    if ($original_aspect >= $thumb_aspect) {
        // If image is wider than thumbnail (in aspect ratio sense)
        $new_height = $destHieght;
        $new_width = $width / ($height / $destHieght);
    } else {
        // If the thumbnail is wider than the image
        $new_width = $destWidth;
        $new_height = $height / ($width / $destWidth);
    }
    $thumb = imagecreatetruecolor($destWidth, $destHieght);
    // Resize and crop
    imagecopyresampled($thumb, $image, 0 - ($new_width - $destWidth) / 2, 0 - ($new_height - $destHieght) / 2, 0, 0, $new_width, $new_height, $width, $height);
    imagejpeg($thumb, $destFile, 80);
}
cropImage(__DIR__ . '/2.jpg', __DIR__ . '/2-crop.jpg', 200, 200);
Beispiel #3
0
function cropImages(&$images, $request)
{
    foreach ($images as &$image) {
        cropImage($image, $request);
    }
    return $images;
}
        imagecopyresampled($tci, $img, 0, 0, $src_x, $src_y, $w_thumb, $h_thumb, $w_thumb, $h_thumb);
        if ($file_ext == 'png') {
            imagepng($tci, $thumb);
        } else {
            imagejpeg($tci, $thumb, 90);
        }
    }
    $target_file = "uploads/resized_" . $file_name;
    // Target file you want to crop. Mine is called uploads.
    $thumbnail = "uploads/thumb_" . $file_name;
    // File location you are uploading thumbnail image to to.
    $width_thumb = 150;
    // Width of the thumb you want to crop.
    $height_thumb = 150;
    // Height of the thumb you want to crop.
    cropImage($target_file, $thumbnail, $width_thumb, $height_thumb, $file_ext);
}
?>
<html>

<body>

	<div id="main">

		<h2>Resize and Crop image</h2>

		<form action="index.php" method="POST" enctype="multipart/form-data">

			<label>Image</label>
			<input type="file" name="file">
Beispiel #5
0
 $gridSizeWidth = 150;
 $gridSizeHeight = 150;
 $cols = ceil($width / $gridSizeWidth);
 $rows = ceil($width / $gridSizeHeight);
 $imageGridFileList = array();
 for ($j = 0; $j < $rows; ++$j) {
     for ($i = 0; $i < $cols; ++$i) {
         $imagePrefix = "temp_";
         $imageType = "png";
         $join = 'x';
         $imageFull = $imagePrefix . $j . $join . $i . '.' . $imageType;
         // cut image i,j
         $imageLocation = "./temp/" . $imageFull;
         $offsetX = $gridSizeWidth * $i;
         $offsetY = $gridSizeHeight * $j;
         cropImage($sourceGridImageLocation, $offsetX, $offsetY, $gridSizeWidth, $gridSizeHeight, $imageLocation);
         $finalSize = dimensionOfImage($imageLocation);
         $finalWidth = $finalSize["width"];
         $finalHeight = $finalSize["height"];
         // record entry
         $imageObject = [];
         $imageObject["x"] = $offsetX;
         $imageObject["y"] = $offsetY;
         $imageObject["width"] = $finalWidth;
         $imageObject["height"] = $finalHeight;
         $imageObject["filename"] = $imageLocation;
         array_push($imageGridFileList, $imageObject);
     }
 }
 // COMBINE IMAGES INTO GRID
 $len = sizeof($imageGridFileList);
Beispiel #6
0
    if ($_FILES['album_image']['name'] != '') {
        $upd_qry = "SELECT * FROM " . $tblprefix . "albums WHERE id = '" . $aid . "'";
        $rs_upd = $db->Execute($upd_qry);
        if ($rs_upd->fields['image'] != "") {
            $a_img_del = ROOT . ALBUM_FOLDER . $rs_upd->fields['image'];
            @unlink($a_img_del);
            @unlink(ROOT . ALBUM_FOLDER . 'tmb-' . $rs_upd->fields['image']);
        }
        $file_temp = $_FILES['album_image']['tmp_name'];
        $filename = date('ymdghs') . $_FILES['album_image']['name'];
        $filename_small = 'tmb-' . $filename;
        $dir = ROOT . ALBUM_FOLDER;
        $filename_with_dir = $dir . $filename;
        @copy($file_temp, $filename_with_dir);
        @(list($width, $height) = getimagesize($filename_with_dir));
        cropImage(340, 250, $dir . $filename, 'jpg', $dir . $filename_small);
    } else {
        $filename = $_POST['hid_image'];
    }
    $sql_update = "UPDATE " . $tblprefix . "albums SET \n\t\t\t\t\t\t\t\t\t\t\t\t title = '" . $title . "',\n\t\t\t\t\t\t\t\t\t\t\t\t image = '" . $filename . "'\n\t\t\t\t\t\t\t\t\t\t\t\t WHERE id = '" . $aid . "'";
    $rs = $db->Execute($sql_update);
    if ($rs) {
        $okmsg = base64_encode("Album Updated successfully.");
        header("Location: admin.php?okmsg={$okmsg}&act=" . $_POST['act']);
        exit;
    }
}
//---------Single album Image  Delete---------
if ($_GET['mode'] == 'delalbum') {
    $recent_qry = "SELECT * FROM " . $tblprefix . "albums WHERE id = '" . base64_decode($_GET['aid']) . "'";
    $rs_recent = $db->Execute($recent_qry);
Beispiel #7
0
if ($_FILES['imgUp']['error'][0] != 4 && $_POST['tit'] != "") {
    for ($i = 0; $i < count($_FILES['imgUp']['name']); $i++) {
        $size += $_FILES['imgUp']['size'][$i];
    }
    if ($size < 16777216) {
        $db = new mysqli($hostname, $username, $password, $db);
        $db->set_charset("utf8");
        mb_internal_encoding('UTF-8');
        if ($db->connect_errno > 0) {
            die('Unable to connect to database [' . $db->connect_error . ']');
        }
        if ($db->query("INSERT INTO tblimgs (path,head,text,fromId,toId) VALUES ('sdfds','" . $title . "','" . $desc . "','" . $_SESSION['userId'] . "','," . implode(",", $_POST['imgSel']) . ",')")) {
            $id = $db->insert_id;
            $genPath = "uploads/imgs/" . $id;
            mkdir($genPath, 0777);
            cropImage($_FILES['imgUp']['tmp_name'][0], $id);
            for ($i = 0; $i < count($_FILES['imgUp']['name']); $i++) {
                $ext = explode(".", $_FILES['imgUp']['name'][$i]);
                $path = "uploads/imgs/" . $id . "/" . $i . "." . $ext[count($ext) - 1];
                if (move_uploaded_file($_FILES['imgUp']['tmp_name'][$i], $path)) {
                    $ok++;
                } else {
                    $ok = 0;
                }
            }
            if ($db->query("UPDATE tblimgs SET path='" . $genPath . "', total='" . $ok . "' WHERE imgId='" . $id . "'")) {
                echo $ok;
                sendImgNotif($_SESSION['userId'], $_POST['imgSel'], $id, $title);
                addCategories($_POST['imgCatSel'], $id);
            }
        }
Beispiel #8
0
$new_height = empty($_POST["height"]) ? 100 : $_POST["height"];
$entity = empty($_POST["entity"]) ? "articles" : $_POST["entity"];
$uid = empty($_POST["uid"]) ? $data_from_user['uid'] : $_POST["uid"];
if (!empty($_FILES)) {
    $targetPath = "/media/{$entity}/";
    // Relative to the root
    $filename = strtotime("now");
    // Validate the file type
    $fileTypes = array('jpg', 'jpeg', 'gif', 'png');
    // File extensions
    $fileParts = pathinfo($_FILES['file']['name']);
    $tempFile = $_FILES['file']['tmp_name'];
    $targetFolder = $_SERVER["DOCUMENT_ROOT"] . '/' . rtrim($targetPath, '/') . '/';
    if (!is_dir($targetFolder)) {
        mkdir($targetFolder);
    }
    $targetFile = $filename . "." . $fileParts['extension'];
    if (in_array(strtolower($fileParts['extension']), $fileTypes)) {
        if (move_uploaded_file($tempFile, $targetFolder . $targetFile)) {
            $image = $targetPath . $targetFile;
            list($width, $height, $type, $attr) = @getimagesize($targetFolder . $targetFile);
            cropImage($width, $height, $new_width, $new_height, $targetFolder . $targetFile);
            $response["success"] = array("image" => $image, "height" => $height, "width" => $width, "type" => $type);
        } else {
            $response["error"] = array("Error saving image");
        }
    } else {
        $response["error"] = array("Invalid type of file");
    }
}
echo json_encode($response);
Beispiel #9
0
 public function doJcrop(){
     $picname=$_POST['pic'];
     $sx=$_POST['x'];
     $sy=$_POST['y'];
     $sw=$_POST['w'];
     $sh=$_POST['h'];
     $path="./Public/Uploads/users/{$_SESSION[C('USER_AUTH_KEY')]['username']}";
     cropImage($picname,$path,$sx,$sy,$sw,$sh,$prix="");
     die('ok');
 }
Beispiel #10
0
    switch ($info[2]) {
        case IMAGETYPE_GIF:
            imagegif($image_resized, $file2);
            break;
        case IMAGETYPE_JPEG:
            imagejpeg($image_resized, $file2);
            break;
        case IMAGETYPE_PNG:
            imagepng($image_resized, $file2);
            break;
        default:
            return false;
    }
    return true;
}
$cdn = getcwd() . "/res/";
$path = getcwd() . "/res/img/";
$file = $_GET["name"];
$tPathFile = $path . $file;
//resize
$w = isset($_GET['w']) ? (int) $_GET['w'] : null;
$h = isset($_GET['h']) ? (int) $_GET['w'] : null;
if ($w && $h) {
    $tPathFileResized = $cdn . 'thumb/' . $w . "_" . $h . "_" . $file;
    if (!file_exists($tPathFileResized)) {
        cropImage($w, $h, $tPathFile, $tPathFileResized);
    }
    $tPathFile = $tPathFileResized;
}
header('Content-Type: image/jpeg');
print file_get_contents($tPathFile);
function sfsi_UploadIcons()
{
    require ABSPATH . '/wp-load.php';
    extract($_POST);
    $upload_dir = wp_upload_dir();
    $ThumbSquareSize = 51;
    //Thumbnail will be 57X57
    $Quality = 90;
    //jpeg quality
    $DestinationDirectory = $upload_dir['path'] . '/';
    //specify upload directory ends with / (slash)
    $AcceessUrl = $upload_dir['url'] . '/';
    $ThumbPrefix = "cmicon_";
    if (!empty($custom_imgurl)) {
        $sfsi_custom_files[] = $custom_imgurl;
        list($CurWidth, $CurHeight) = getimagesize($custom_imgurl);
        $info = explode("/", $custom_imgurl);
        $iconName = array_pop($info);
        $ImageExt = substr($iconName, strrpos($iconName, '.'));
        $ImageExt = str_replace('.', '', $ImageExt);
        $iconName = str_replace(' ', '-', strtolower($iconName));
        // get image name
        $ImageType = 'image/' . $ImageExt;
        switch (strtolower($ImageType)) {
            case 'image/png':
                // Create a new image from file
                $CreatedImage = imagecreatefrompng($custom_imgurl);
                break;
            case 'image/gif':
                $CreatedImage = imagecreatefromgif($custom_imgurl);
                break;
            case 'image/jpg':
                $CreatedImage = imagecreatefromjpeg($custom_imgurl);
                break;
            case 'image/jpeg':
            case 'image/pjpeg':
                $CreatedImage = imagecreatefromjpeg($custom_imgurl);
                break;
            default:
                die(json_encode(array('res' => 'type_error')));
                //output error and exit
        }
        $ImageName = preg_replace("/\\.[^.\\s]{3,4}\$/", "", $iconName);
        $cnt = $i + 1;
        $sec_options = get_option('sfsi_section1_options', false) ? unserialize(get_option('sfsi_section1_options', false)) : '';
        $icons = is_array(unserialize($sec_options['sfsi_custom_files'])) ? unserialize($sec_options['sfsi_custom_files']) : array();
        if (empty($icons)) {
            end($icons);
            $new = 0;
        } else {
            end($icons);
            $cnt = key($icons);
            $new = $cnt + 1;
        }
        $NewIconName = "/custom_icon" . $new . '.' . $ImageExt;
        $iconPath = $DestinationDirectory . $NewIconName;
        //Thumbnail name with destination directory
        //Create a square Thumbnail right after, this time we are using cropImage() function
        if (cropImage($CurWidth, $CurHeight, $ThumbSquareSize, $iconPath, $CreatedImage, $Quality, $ImageType)) {
            //update database information
            $AccressImagePath = $AcceessUrl . $NewIconName;
            $sec_options = get_option('sfsi_section1_options', false) ? unserialize(get_option('sfsi_section1_options', false)) : '';
            $icons = is_array(unserialize($sec_options['sfsi_custom_files'])) ? unserialize($sec_options['sfsi_custom_files']) : array();
            $icons[] = $AccressImagePath;
            $sec_options['sfsi_custom_files'] = serialize($icons);
            $total_uploads = count($icons);
            end($icons);
            $key = key($icons);
            update_option('sfsi_section1_options', serialize($sec_options));
            die(json_encode(array('res' => 'success', 'img_path' => $AccressImagePath, 'element' => $total_uploads, 'key' => $key)));
        } else {
            die(json_encode(array('res' => 'thumb_error')));
        }
    }
}
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen']) && isset($_GET['i'])) {
            $anchoImagen = 200;
            $altoImagen = 200;
            require_once 'modulos/cursos/modelos/CursoModelo.php';
            $idCurso = $_GET['i'];
            $cursoParaModificar = getCurso($idCurso);
            if ($cursoParaModificar->idUsuario == getUsuarioActual()->idUsuario) {
                if (($_FILES["imagen"]["type"] == "image/jpeg" || $_FILES["imagen"]["type"] == "image/pjpeg" || $_FILES["imagen"]["type"] == "image/png") && $_FILES["imagen"]["size"] < 10485760) {
                    //tamaño maximo de imagen de 10MB
                    require_once 'funcionesPHP/CropImage.php';
                    //guardamos la imagen en el formato original
                    $file = "archivos/temporal/original_" . $_FILES["imagen"]["name"];
                    if (move_uploaded_file($_FILES["imagen"]["tmp_name"], $file)) {
                        $dest = "archivos/temporal/cropped_" . $_FILES["imagen"]["name"];
                        //Hacemos el crop de la imagen
                        if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                            //Se hizo el crop correctamente
                            //borramos la imagen original
                            unlink($file);
                            //Subimos la imagen recortada al S3 de Amazon
                            require_once 'modulos/aws/modelos/s3Modelo.php';
                            $res = uploadFileToS3($dest, "cursosImgs");
                            //borramos la imagen con crop
                            unlink($dest);
                            if ($res['res']) {
                                $imagenAnterior = $cursoParaModificar->imagen;
                                //Se subió bien la imagen, guardamos en la bd
                                $cursoParaModificar->imagen = $res['link'];
                                if (actualizaImagenCurso($cursoParaModificar)) {
                                    //Se actualizo correctamente la imagen, borramos la anterior
                                    if (strpos($imagenAnterior, "http") !== false) {
                                        //Es una imagen en el S3, la borramos
                                        deleteFileFromS3ByUrl($imagenAnterior);
                                    } else {
                                        //Es una imagen predefinida, no borrar!
                                    }
                                    require_once 'funcionesPHP/CargarInformacionSession.php';
                                    setSessionMessage("Cambiaste correctamente tu imagen", " ¡Bien! ", "success");
                                    redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                                } else {
                                    //error en bd
                                    setSessionMessage("Error BD", " ¡Error! ", "error");
                                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                                }
                            } else {
                                //No se subió la imagen
                                setSessionMessage("Ocurrió un error al guardar la imagen en nuestros servidores. Intenta de nuevo más tarde", " ¡Error! ", "error");
                                redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                            }
                        } else {
                            //borramos la imagen temporal
                            unlink($file);
                            //No se pudo hacer el "crop" de la imagen
                            setSessionMessage("Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde", " ¡Error! ", "error");
                            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                        }
                    } else {
                        //No se subió la imagen
                        setSessionMessage("Ocurrió un error al recibir tu imagen. Intenta de nuevo más tarde", " ¡Error! ", "error");
                        redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                    }
                } else {
                    //No es una imagen válida
                    setSessionMessage("No es una imagen válida. El tamaño máximo es de 10MB y formato png o jpg", " ¡Espera! ", "error");
                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                }
            } else {
                setSessionMessage("No puedes modificar este curso", " ¡Espera! ", "error");
                goToIndex();
            }
        } else {
            setSessionMessage("No es una imagen válida", " ¡Espera! ", "error");
            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
        }
    } else {
        goToIndex();
    }
}
Beispiel #13
0
                $position = explode(",", $data[0]);
                if ($position[0] < 0) {
                    $position[0] = 0;
                }
                if ($position[1] < 0) {
                    $position[1] = 0;
                }
                $size = explode(",", $data[1]);
                /*
                					echo $c."=>".$_REQUEST['thumbchanges'.$c]."<br/>";
                					echo ".... new size = ".ceil($size[0]/$red)."x".ceil($size[1]/$red)."<br/>";
                					echo ".... crop start = ".ceil($position[0]/$red)."x".ceil($position[1]/$red)."<br/>";
                					//*/
                $destFile = $c == 0 ? $mainFile : $thumbStart . ($c + 1);
                $size[0] = ceil($size[0] / $red);
                $size[1] = ceil($size[1] / $red);
                $position[0] = ceil($position[0] / $red);
                $position[1] = ceil($position[1] / $red);
                $ok = cropImage($mainFile, $destFile, $position, $size, explode(",", $module->fields[$field][CONS_XML_THUMBNAILS][$c]), 0, isset($WM_TODO[$c]) ? $WM_TODO[$c] : array());
            }
        }
    }
    $core->action = "edit_thumbnails";
    // if internalFoward disabled, go to edit pane
    $qs = array();
    foreach ($module->keys as $key) {
        $qs[] = $key . "=" . $_REQUEST[$key];
    }
    $qs = "module=" . $module->name . "&field=" . $_REQUEST['field'] . "&" . implode("&", $qs);
    $core->headerControl->internalFoward("edit_thumbnails.html?" . $qs);
}
Beispiel #14
0
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen'])) {
            $anchoImagen = 200;
            $altoImagen = 200;
            require_once 'modulos/usuarios/modelos/usuarioModelo.php';
            $usuarioCambiar = getUsuario(getUsuarioActual()->idUsuario);
            if (($_FILES["imagen"]["type"] == "image/gif" || $_FILES["imagen"]["type"] == "image/jpeg" || $_FILES["imagen"]["type"] == "image/pjpeg" || $_FILES["imagen"]["type"] == "image/png") && $_FILES["imagen"]["size"] < 5000000) {
                require_once 'funcionesPHP/CropImage.php';
                //guardamos la imagen en el formato original
                $file = "archivos/temporal/" . $_FILES["imagen"]["name"];
                move_uploaded_file($_FILES["imagen"]["tmp_name"], $file);
                $path = pathinfo($file);
                $uniqueCode = getUniqueCode(5);
                $destName = $uniqueCode . "_perfil_" . $usuarioCambiar->idUsuario . "." . $path['extension'];
                $dest = $path['dirname'] . "/" . $destName;
                if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                    //Se hizo el crop correctamente
                    //borramos la imagen temporal
                    unlink($file);
                    require_once 'modulos/cdn/modelos/cdnModelo.php';
                    $uri = crearArchivoCDN($dest, $destName, -1);
                    if ($uri != NULL) {
                        $usuarioCambiar->avatar = $uri;
                        //actualizamos la información en la bd
                        actualizaAvatar($usuarioCambiar);
                        require_once 'funcionesPHP/CargarInformacionSession.php';
                        cargarUsuarioSession();
                        setSessionMessage("<h4 class='success'>Haz cambiado tu imagen correctamente. Espera unos minutos para ver el cambio</h4>");
                        redirect("/usuario/" . $usuarioCambiar->uniqueUrl);
                    } else {
                        //Ocurrió un error al subir al cdn
                        setSessionMessage("<h4 class='error'>Error cdn</h4>");
                        redirect("/usuarios/usuario/cambiarImagen");
                    }
                } else {
                    //Error al hacer el crop
                    //borramos la imagen temporal
                    unlink($file);
                    setSessionMessage("<h4 class='error'>Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde</h4>");
                    redirect("/usuarios/usuario/cambiarImagen");
                }
            } else {
                //El archivo no es válido o es demasiado grande
                setSessionMessage("<h4 class='error'>No es una imagen válida.</h4>");
                redirect("/usuarios/usuario/cambiarImagen");
            }
        }
    } else {
        goToIndex();
    }
}
Beispiel #15
0
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen']) && isset($_GET['i'])) {
            $anchoImagen = 100;
            $altoImagen = 100;
            require_once 'modulos/cursos/modelos/CursoModelo.php';
            $idCurso = $_GET['i'];
            $cursoParaModificar = getCurso($idCurso);
            if ($cursoParaModificar->idUsuario == getUsuarioActual()->idUsuario) {
                if (($_FILES["imagen"]["type"] == "image/jpeg" || $_FILES["imagen"]["type"] == "image/pjpeg" || $_FILES["imagen"]["type"] == "image/png") && $_FILES["imagen"]["size"] < 500000) {
                    require_once 'funcionesPHP/CropImage.php';
                    //guardamos la imagen en el formato original
                    $file = "archivos/temporal/" . $_FILES["imagen"]["name"];
                    move_uploaded_file($_FILES["imagen"]["tmp_name"], $file);
                    $path = pathinfo($file);
                    $uniqueCode = getUniqueCode(5);
                    $destName = $uniqueCode . "_curso_" . $cursoParaModificar->idCurso . "." . $path['extension'];
                    $dest = $path['dirname'] . "/" . $destName;
                    if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                        //Se hizo el crop correctamente
                        //borramos la imagen temporal
                        unlink($file);
                        require_once 'modulos/cdn/modelos/cdnModelo.php';
                        $uri = crearArchivoCDN($dest, $destName, -1);
                        $oldUri = $cursoParaModificar->imagen;
                        if ($uri != NULL) {
                            $cursoParaModificar->imagen = $uri;
                            if (actualizaImagenCurso($cursoParaModificar)) {
                                //Se actualizó correctamente la bd, borramos el archivo anterior del cdn
                                if (strpos($oldUri, "http") !== false) {
                                    //Si el oldUri contiene http, significa que esta en cloud files, lo borramos.
                                    $splitted = explode("/", $oldUri);
                                    $fileName = $splitted[sizeof($splitted) - 1];
                                    deleteArchivoCdn($fileName, -1);
                                }
                                require_once 'funcionesPHP/CargarInformacionSession.php';
                                cargarCursosSession();
                                setSessionMessage("<h4 class='success'>Cambiaste correctamente tu imagen</h4>");
                                redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                            } else {
                                //error en bd
                                setSessionMessage("<h4 class='error'>Error bd</h4>");
                                redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                            }
                        } else {
                            //Ocurrió un error al subir al cdn
                            setSessionMessage("<h4 class='error'>Error cdn</h4>");
                            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                        }
                    } else {
                        //borramos la imagen temporal
                        unlink($file);
                        //No se pudo hacer el "crop" de la imagen
                        //echo "no se pudo hacer el crop de la imagen";
                        setSessionMessage("<h4 class='error'>Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde</h4>");
                        redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                    }
                } else {
                    //No es una imagen válida
                    setSessionMessage("<h4 class='error'>No es una imagen válida</h4>");
                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                }
            } else {
                setSessionMessage("<h4 class='error'>No puedes modificar este curso</h4>");
                goToIndex();
            }
        } else {
            setSessionMessage("<h4 class='error'>No es una imagen válida</h4>");
            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
        }
    } else {
        goToIndex();
    }
}
Beispiel #16
0
}
//检查是否是正常文件
if ($_FILES["upload"]["error"] > 0) {
    scriptReturn('', '未选择文件', 422);
}
//图片大小不能超过4M,像素宽高不能超过4000
if (filesize($_FILES['upload']['tmp_name']) > 4 * 1024 * 1024) {
    scriptReturn('', '图片大小不能超过4M', 422);
}
$imageInfo = getimagesize($_FILES['upload']['tmp_name']);
if (!$imageInfo || $imageInfo[0] > 4000 || $imageInfo[1] > 4000) {
    scriptReturn('', '图片像素宽高不能超过4000', 422);
}
//上传处理
$fileExt = pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);
$target = UPLOAD_DIR . "/" . basename($_FILES['upload']['tmp_name']) . ".{$fileExt}";
//如果需要裁剪图片则裁剪,不需要直接保存
if (isset($_POST['x']) && isset($_POST['y']) && !empty($_POST['w']) && !empty($_POST['h']) && !empty($_POST['iw'])) {
    cropImage($target, $_FILES['upload']['tmp_name'], $_POST['x'], $_POST['y'], $_POST['w'], $_POST['h'], $_POST['iw']);
} else {
    move_uploaded_file($_FILES['upload']['tmp_name'], $target);
}
//传文件
$post_data = array('upload' => "@{$target}");
$uploadUrl = "http://api.grocery.pptv.com/upload_file.php?app={$_GET['app']}&tk={$_GET['tk']}&prod={$_GET['prod']}";
$return = json_decode(send_post_pic($uploadUrl, $post_data), 1);
@unlink($target);
if (empty($return['data'])) {
    scriptReturn('', '公有云接口出错', 500);
}
scriptReturn($return['data'], 'success', 0);
//$imagesTumbsUrl    = "http://localhost/HtmlEditorImageUpload/uploads/thumbs/";
//$imagesUrl         = "http://localhost/HtmlEditorImageUpload/uploads/"; 	// url to the images
$createThumbnails = true;
if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
        case 'upload':
            print_r(json_encode(uploadHtmlEditorImage($allowedFormats, $maxSize, $imagesPath, $imagesUrl, $createThumbnails, $imagesTumbsUrl, $imagesThumbsPath)));
            break;
        case 'crop':
            $imageSrc = isset($_REQUEST["image"]) ? $_REQUEST["image"] : '';
            $width = isset($_REQUEST["width"]) ? intval($_REQUEST["width"]) : 0;
            $height = isset($_REQUEST["height"]) ? intval($_REQUEST["height"]) : 0;
            $offsetLeft = isset($_REQUEST["offsetLeft"]) ? intval($_REQUEST["offsetLeft"]) : 0;
            $offsetTop = isset($_REQUEST["offsetTop"]) ? intval($_REQUEST["offsetTop"]) : 0;
            $zoom = isset($_REQUEST["zoom"]) ? intval($_REQUEST["zoom"]) : 1;
            print_r(json_encode(cropImage($imagesPath, $imagesThumbsPath, $imagesUrl, $imagesTumbsUrl, $imageSrc, $width, $height, $offsetLeft, $offsetTop, $zoom, $allowedFormats)));
            break;
        case 'rotate':
            $imageSrc = isset($_REQUEST["image"]) ? $_REQUEST["image"] : '';
            print_r(json_encode(rotateImage($imagesPath, $imagesThumbsPath, $imagesUrl, $imageSrc)));
            break;
        case 'resize':
            $width = isset($_REQUEST["width"]) ? intval($_REQUEST["width"]) : 0;
            $height = isset($_REQUEST["height"]) ? intval($_REQUEST["height"]) : 0;
            $imageSrc = isset($_REQUEST["image"]) ? $_REQUEST["image"] : '';
            print_r(json_encode(resizeImage($imagesPath, $imagesThumbsPath, $imagesUrl, $imageSrc, $width, $height)));
            break;
        case 'imagesList':
            $limit = isset($_REQUEST["limit"]) ? intval($_REQUEST["limit"]) : 10;
            $start = isset($_REQUEST["start"]) ? intval($_REQUEST["start"]) : 0;
            $query = isset($_REQUEST["query"]) ? $_REQUEST["query"] : 0;
Beispiel #18
0
     }
     //get Image Size
     list($CurWidth, $CurHeight) = getimagesize($TempSrc);
     //
     if ($processImage) {
         $filename = strtoupper(uniqid()) . ".jpg";
         $uploadfile = $uploaddir . "/" . $filename;
         if (!file_exists($uploaddir)) {
             $createFolder = mkdir($uploaddir);
             if (!$createFolder) {
                 $error_message = "Cannot create directory !";
                 echo $error_message;
                 exit;
             }
         }
         if (cropImage($CurWidth, $CurHeight, 150, $uploadfile, $CreatedImage, $Quality, $ImageType)) {
             MainConfig::connectDB();
             $news_head = mysql_real_escape_string($_POST['news_head']);
             $news_content = mysql_real_escape_string($_POST['news_content']);
             $ins = mysql_query("INSERT INTO `web_news` (`heading_1`, `content_all`, `posted_date`, `news_status`,`image`) VALUES ('{$news_head}', '{$news_content}', '{$_POST['news_date']}','1','{$filename}')") or die(mysql_error());
             if ($ins) {
                 echo json_encode(100);
             }
             MainConfig::closeDB();
         } else {
             echo json_encode(900);
         }
     } else {
         echo json_encode(800);
     }
 } else {
         $title = 'EditSlider';
         require '../editSlider.php';
     } else {
         require 'deleted.php';
     }
 }
 if ($target == 'cropImage') {
     require '../../init.php';
     $imgPath = $_POST['imgPath'];
     $imgId = $_POST['imgId'];
     $caption = $_POST['caption'];
     $coordX = $_POST['x'];
     $coordY = $_POST['y'];
     $coordW = $_POST['w'];
     $coordH = $_POST['h'];
     $filePath = cropImage($imgPath, $coordX, $coordY, $coordW, $coordH, $caption);
     if (!empty($filePath)) {
         $col = 'caption,finalUrl,enable';
         $info = array($caption, $filePath, 'yes');
         $pk = 'id';
         if ($obj_query->update($col, $info, 'slider', $pk, $imgId)) {
             $_SESSION['status'] = 'ok';
             $_SESSION['flashData'] = 'Crop successful.';
             header('location:' . baseUrl . 'admin/showSlider/');
         } else {
             $_SESSION['status'] = 'error';
             $_SESSION['flashData'] = 'Cannot crop';
             header('location:' . baseUrl . 'admin/showSlider/');
         }
     } else {
         $_SESSION['status'] = 'error';
Beispiel #20
0
function uploadImage($ImageFile, $DestinationDirectory, $ThumbnailSize = 100, $ImageSize = 1024)
{
    // Image and Thumbnail Settings
    $ThumbSquareSize = $ThumbnailSize;
    // Thumbnail will be 100x100
    $BigImageMaxSize = $ImageSize;
    // Image Maximum height or width
    $ThumbPrefix = "thumbnail.";
    // Normal thumb Prefix
    $Quality = 90;
    // jpeg quality
    // Create Destination Folder (if doesn't exist)
    if (!file_exists($DestinationDirectory)) {
        mkdir($DestinationDirectory, 0777, true);
    }
    $ImageName = str_replace(' ', '-', strtolower($ImageFile['name']));
    //get image name
    $ImageSize = $ImageFile['size'];
    // get original image size
    $TempSrc = $ImageFile['tmp_name'];
    // Temp name of image file stored in PHP tmp folder
    $ImageType = $ImageFile['type'];
    // get file type, returns "image/png", image/jpeg, text/plain etc.
    // Get file extension from Image name, this will be added after random name
    $ImageExt = substr($ImageName, strrpos($ImageName, '.'));
    $ImageExt = str_replace('.', '', $ImageExt);
    $NewImageName = $ImageName;
    if (file_exists($DestinationDirectory . $NewImageName)) {
        // Remove extension from filename
        $ImageName = preg_replace("/\\.[^.\\s]{3,4}\$/", "", $ImageName);
        $i = 1;
        do {
            // Construct a new name with a copy number and extension.
            $NewImageName = $ImageName . '(' . $i++ . ').' . $ImageExt;
        } while (file_exists($DestinationDirectory . $NewImageName));
    }
    // set the Destination Image
    $thumb_DestRandImageName = $DestinationDirectory . $ThumbPrefix . $NewImageName;
    //Thumbnail name with destination directory
    $DestRandImageName = $DestinationDirectory . $NewImageName;
    // Image with destination directory
    // Let's check allowed $ImageType, we use PHP SWITCH statement here
    switch (strtolower($ImageType)) {
        case 'image/png':
            // Create a new image from file
            $CreatedImage = imagecreatefrompng($ImageFile['tmp_name']);
            break;
        case 'image/gif':
            $CreatedImage = imagecreatefromgif($ImageFile['tmp_name']);
            break;
        case 'image/jpeg':
        case 'image/pjpeg':
            $CreatedImage = imagecreatefromjpeg($ImageFile['tmp_name']);
            break;
        default:
            die('Unsupported File!');
            //output error and exit
    }
    // PHP getimagesize() function returns height/width from image file stored in PHP tmp folder.
    // Get first two values from image, width and height.
    // list assign svalues to $CurWidth,$CurHeight
    list($CurWidth, $CurHeight) = getimagesize($TempSrc);
    // Resize image to Specified Size by calling resizeImage function.
    if (resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
        //Create a square Thumbnail right after, this time we are using cropImage() function
        if (!cropImage($CurWidth, $CurHeight, $ThumbSquareSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) {
            echo 'Error Creating thumbnail';
        }
        /*
        We have succesfully resized and created thumbnail image
        We can now output image to user's browser or store information in the database
        */
        return $NewImageName;
    } else {
        //die('Resize Error'); // output error
        return "";
    }
}
if (isset($_GET['task'])) {
    $task = $_GET['task'];
} else {
    if (isset($_POST['task'])) {
        $task = $_POST['task'];
    }
}
switch ($task) {
    case 'selectImage':
        selectImage();
        break;
    case 'uploadTempImage':
        uploadTempImage($courseID);
        break;
    case 'cropImage':
        cropImage($courseID);
        break;
}
function selectImage()
{
    // TEMPLATE ARRAY (templateName, minWidth,minHeight, ratioWidth,ratioHeight)
    $templates = $GLOBALS['templates'];
    echo '<div>
				<h3>Step 1: Select An Image</h3>
				<div class="row-fluid">
				<div class="well well-sm">
					<form action="wizard_image_crop.php" id="imageForm" class="form-horizontal" method="post" enctype="multipart/form-data">
						<label for="file" class="col-xs-2">Select a file:</label>
						<div class="col-xs-10">
							<input type="file" name="file" id="file"><br>
							<p style="font-size:14px;"><em><strong>Note:</strong> Image can be either a jpg or png.</em></p>
function actualizarLogoSubmit()
{
    $idRestaurante = $_POST['idRestaurante'];
    if (validarAdministrador() || validarRestauranteLoggeadoId($idRestaurante)) {
        require_once 'modulos/restaurantes/modelos/RestauranteModelo.php';
        $restaurante = getRestaurante($idRestaurante);
        $sufix = getUniqueCode(25);
        if (($_FILES["logo"]["type"] == "image/gif" || $_FILES["logo"]["type"] == "image/jpeg" || $_FILES["logo"]["type"] == "image/pjpeg" || $_FILES["logo"]["type"] == "image/png") && $_FILES["logo"]["size"] < 5000000) {
            if ($_FILES["logo"]["error"] > 0) {
                echo "Error al subir el archivo: " . $_FILES["logo"]["error"] . "<br />";
            } else {
                $pathInfo = pathinfo($_FILES['logo']["name"]);
                $fileName = "archivos/logosRestaurantes/logo_" . $sufix . "." . $pathInfo['extension'];
                if (file_exists($fileName)) {
                    unlink($fileName);
                }
                move_uploaded_file($_FILES["logo"]["tmp_name"], $fileName);
                require_once 'funcionesPHP/CropImage.php';
                if (cropImage($fileName, $fileName, 100, 100)) {
                    $logoAnterior = $restaurante->logo;
                    if (actualizaLogoRestaurante($idRestaurante, $fileName)) {
                        $error = 'Se actualizó el logo del archivo';
                        if (file_exists($logoAnterior)) {
                            unlink($logoAnterior);
                        }
                        $restaurante->logo = $fileName;
                    } else {
                        $error = 'Ocurrió un error al actualizar el logo';
                    }
                    require_once 'modulos/restaurantes/vistas/logo.php';
                } else {
                    echo "error al procesar la imagen";
                }
            }
        } else {
            echo "No se permite ese tipo de archivo";
        }
    } else {
        echo "No tienes los permisos para hacer eso";
    }
}