Redimensionner une image à partir de la source et définir le chemin de téléchargement avec CodeIgniter

StackOverflow https://stackoverflow.com/questions/8882979

Question

Je construis une galerie d'images avec Codeigniter que tout se passe bien jusqu'à présent, mais j'ai eu une question rapide sur le redimensionnement des images.

Fondamentalement, je télécharge l'image source et je fais créer un ID puis le stockez dans ce chemin / uploads/$id/source.jpg. Ensuite, j'essaie de créer deux nouvelles images de l'image source, une vignette et une image moyenne avec un filigrane.

Lorsque vous utilisez la classe de manipulation d'image de Codeigniter, pouvez-vous définir un nom de fichier et un chemin de téléchargement? Et lorsque vous lui donnez l'image source, il modifie-t-il l'image source ou en fait-il une copie?

public function generateThumnail($source, $screenid) {
        $config['image_library'] = 'gd2';
        $config['source_image'] = "$source";
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 75;
        $config['height'] = 50;

        //Not sure how I set the upload path and file name.
        $this->load->library('image_lib', $config); 
        $this->image_lib->resize();

        //TODO: Code to be added later
        $this->image_lib->clear();
}

Le chemin de téléchargement et le nom du fichier ne sont pas inclus car je ne sais pas comment les ajouter. Existe-t-il un moyen de les ajouter?

Était-ce utile?

La solution

Oui, vous pouvez spécifier un chemin de téléchargement mais en utilisant la classe de téléchargement de fichiers, pas la classe de manipulation d'image.

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

$this->load->library('upload', $config);

http://codeigniter.com/user_guide/libraries/file_uploading.html

Codeigniter créera une copie de l'image si vous le dites.

Créer une copie

La fonction de redimensionnement créera une copie du fichier image (et préservera l'original) si vous définissez un chemin et / ou un nouveau nom de fichier en utilisant cette préférence:

$config['new_image'] = '/path/to/new_image.jpg';

Notes concernant cette préférence:

  • Si seul le nouveau nom d'image est spécifié, il sera placé dans le même dossier que l'original
  • Si seul le chemin est spécifié, la nouvelle image sera placée dans la destination avec le même nom que l'original.
  • Si le chemin et le nom de l'image sont spécifiés, il sera placé dans sa propre destination et compte tenu du nouveau nom.

http://codeigniter.com/user_guide/libraries/image_lib.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top