PHPackages                             lliure/picup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. lliure/picup

ActiveLibrary[File &amp; Storage](/categories/file-storage)

lliure/picup
============

Pacote upload de imagens por javascript

v2.2.2(3y ago)19121MITPHPPHP ^5.6 || ^7.0 || ^8.0

Since Sep 17Pushed 3y ago2 watchersCompare

[ Source](https://github.com/jomadee/Picup)[ Packagist](https://packagist.org/packages/lliure/picup)[ RSS](/packages/lliure-picup/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (5)DependenciesVersions (7)Used By (0)

Trabalhando com Pic-up
======================

[](#trabalhando-com-pic-up)

Utilização básica
-----------------

[](#utilização-básica)

No arquivo referente ao layout, deve se utilizar os comandos javaScript para instanciar o pic-up

```

  $('#pic-up').picup({
      name: 'imagem'
  });

```

É obrigatório definir o **name** para seu uso. Automaticamente será definido o *enctype* do seu formulário.

Após submeter o formulário, inicie a classe para realizar o upload

```
$picUp = new Picup('imagem'); //A string 'imagem' refere-se ao mesmo valor informado no index 'name'
$imagens = $picUp->upload('uploadTest/sub1');
```

Cortando imagens
----------------

[](#cortando-imagens)

Caso queria fazer um corte, poderá usar o metodo **cut()** da seguinte forma.

simplificando ficaria assim:

```
$picUp = new Picup('imagem');
$imagens = $picUp->upload('uploadTest/sub1',  $picUp->cut(500, 500));
```

caso queria fazer mais de um corte:

```
$picUp = new Picup('imagem');
$corte1 = $picUp->upload('uploadTest/sub1',  $picUp->cut(500, 500));
$corte2 = $picUp->upload('uploadTest/sub1/thumb',  $picUp->cut(100, 100));
```

O método **cut()** recebe 4 argumentos, sendo

- @param $widthFinal
- @param $heightFinal
- @param string $type

    - **c** = Corte, corta a imagem centralizada no tamanho escolhido
    - **o** = Objetiva, redimencina para o tamanho final (adciona tranparencia para completar a medida menor, e converte para png)
    - **p** = Proporcional, mantendo a medida maior da imagem igual a medida menor da thumb
    - **r** = Relativo, a medida que estiver faltando é redimencionada para o valor relativo a original
    - **x** \[Padrão\] = maXimo, corta pelo tamanho escolhido sem alterar as proporções originais
- @param string $posfix
- @param string|boolean $renderOut

    - Nesse campo pode ser configurado o tipo do arquivo a ser salvo

    Exemplo: $picup-&gt;cut(200, 200, null, '\_\_thumb', 'webp');
    Exemplo 2: $picup-&gt;cut(400, 400, 'o');

Método toWebp()
---------------

[](#método-towebp)

Método alias do cut, fazendo uma preconfiguração de corte de 500x500 em modo "p" e convertendo para webp

- @param $w
- @param $h

Método upload()
---------------

[](#método-upload)

O método upload trabalha com dois argumentos sendo

- @param $folder
- @param null $files

Onde **$folder**, é o caminho onde será feito o upload, **$files** é o array contendo as imagens, esse parametro pode ser **null** assim utilizando os arquivos originais

Trabalhando com modificações no padrão
--------------------------------------

[](#trabalhando-com-modificações-no-padrão)

Aqui veremos algumas modificações no padrão normal da execução do pic-up

```
$('#pic-up').picup({
   buttonText: 'Escolher imagem',
   name: 'imagem',
   addFunction: function (img, opt) {
       return ''
        + 'Nome '
           + '';
   },
   deleteImg: function (content) {
      $(content).hide();
   },
   content: [
               {id: 32, img: "http://www.minhaurl.com/imagens/ec193cp84fzbww_1_26296.JPG", label: "teste 32"},
               {id: 41, img: "http://www.minhaurl.com/imagens/ec193cp84fzbww_1_26296.JPG", label: "teste 41"},
               {id: 33, img: 'http://www.minhaurl.com/imagens/ec193cp89ruoww_1_72676.jpg', label: "teste 33"}
           ]
 });
```

Perceba que temos novos parametros na utilização do pic-up, **buttonText**, **addFunction**, **deleteImg** e **content**.

**buttonText**, é o texto usado no botão de seleção das imagens

**addFunction**, é a função que gera a visualização basica das imagens, tanto já carregadas quando enviadas, é obrigatório o uso de dois argumentos em usa criação no exempo a cima tempos *img* e *opt*, o seu **return** sera exibido na tela para cada imagem carregada ou enviada.

**deleteImg**, é a função que realiza a visualização da deleção de uma imagem carregada ou enviada no caso, está ocultando seu conteudo, é importe que não seja removido o contet da imagem, pois isso implicara em problemas na execução, é necessario a utilização de um argumento, no exemplo *content*

**content**, é um objeto que monta as imagens carregadas, são necessários duas chaves para cada laço *id* e *img*, paramos além desse poderão ser utilizados na função **addFunction** que terão entrada pelo segundo argumento, como no exemplo *opt.label*

Tratando inputs adicionais
--------------------------

[](#tratando-inputs-adicionais)

Todo input adicionar deverá passar pelo metodo **filterInput()** para um pré tratamento, como no exemplo tempo o input *label*

```
$_POST['label'] = $picUp->filterInput($_POST['label']);
```

Fazendo dessa forma o retorno na variavel *$\_POST\['label'\]* seguindo o exemplo assima será:

```
$_POST['label'] = array(
   'new' => array(0 => 'lorem ipsum', 1 => 'dolor')
   'original' => array( 32 => 'teste 32', 33 => 'teste 33', 41 => 'teste 41')
);
```

Sendo que em **new =&gt; array()** temos os labels das novas imagens, e em **original =&gt; array()** as carregadas

Apagando imagens carregadas
---------------------------

[](#apagando-imagens-carregadas)

O pic-up retorna após o submit as imagens que foram marcadas para serem apagadas, elas são retornadas na variavel **$\_POST\['picup-delete-content'\]**, que terá um array com o *id* passado e um boleam 0 para não apagar e **1** para apagar

```
[picup-delete-content] => Array
        (
            [imagem] => Array
                (
                    [32] => 0
                    [41] => 1
                    [33] => 0
                )
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~280 days

Recently: every ~129 days

Total

6

Last Release

1395d ago

Major Versions

v1.0 → v2.02021-02-18

PHP version history (3 changes)v1.0PHP ^5.3.3 || ^7.0

v2.0PHP ^5.6 || ^7.0

v2.2.2PHP ^5.6 || ^7.0 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f1d5d912f03198cc7277645f466ec483e9b79df200e11dc6f42eb60020a5dd09?d=identicon)[jomadee](/maintainers/jomadee)

---

Top Contributors

[![jomadee](https://avatars.githubusercontent.com/u/2077867?v=4)](https://github.com/jomadee "jomadee (21 commits)")

---

Tags

picuplliure

### Embed Badge

![Health badge](/badges/lliure-picup/health.svg)

```
[![Health](https://phpackages.com/badges/lliure-picup/health.svg)](https://phpackages.com/packages/lliure-picup)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
