コード例 #1
0
ファイル: Image.php プロジェクト: jhospina/Project-Egolas
 function __construct($url)
 {
     $this->name = Util::fileExtractName($url);
     $this->extension = strtolower(Util::fileExtractExtension($url));
     $this->path = Util::convertUrltoPath($url);
     $this->route = str_replace($this->name . "." . $this->extension, "", $this->path);
     $this->route_url = str_replace($this->name . "." . $this->extension, "", $url);
     /**
      * La function mime_content_type esta obsoleta
      */
     //$this->mime_type = mime_content_type($this->path);
     $this->mime_type = null;
     $dimensiones = getimagesize($this->path);
     $this->width = $dimensiones[0];
     $this->height = $dimensiones[1];
 }
コード例 #2
0
 /** Recibe una peticion Ajax para actualiza la foto de perfil de un usuario
  * 
  * @param Request $request
  * @return type
  */
 function ajaxUpdateAvatar(Request $request)
 {
     if (!$request->ajax() || !Auth::check()) {
         return json_encode(array());
     }
     $extensions = array("png", "jpg", "jpeg");
     $avatar = $request->file("upload-avatar");
     $extension = strtolower($avatar->getClientOriginalExtension());
     //Valida la extension del archivo
     if (!in_array($extension, $extensions)) {
         return json_encode(array("error" => "Extension de archivo no permitida"));
     }
     //Valida el tamaño del archivo
     if ($avatar->getSize() > 2000000) {
         return json_encode(array("error" => "Tamaño del archivo excesivo"));
     }
     //Almacena la imagen subida por el usuario en la carpeta temporal
     $filename = DateUtil::getTimeStamp() . "." . $extension;
     $temp = Auth::user()->getPathTemporal();
     $avatar->move($temp, $filename);
     //Crear carpeta de usuario predeterminada
     $image = new Image(url($temp . $filename));
     $url_avatar = $image->createCopy(200, 200, DateUtil::getTimeStamp(), public_path(Auth::user()->getPathUploads()), false);
     //Elimina el archivo temporal
     unlink(Util::convertUrltoPath(url($temp . $filename)));
     //Registra el nuevo avatar en la base de datos
     $user = User::findOrNew(Auth::user()->id);
     //Si el usuario tiene definido un avatar, lo elimina
     if (!is_null($user->avatar)) {
         unlink(Util::convertUrltoPath($user->avatar));
     }
     $user->avatar = $url_avatar;
     $user->save();
     return json_encode(array("url" => $url_avatar));
 }