この記事は主にCodeIgniterをベースにしたPHPの画像アップロードと切り取り機能を詳しく紹介していますので、興味のある方は参考にしてみてください
具体的な内容は以下の通りです
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Index extends MY_Controller { function __construct(){ parent::__construct(); $this->load->helper(array('form', 'url')); } /** * 首页 */ public function index() { $this->load->view('upload_form', array('error' => ' ' )); } public function do_upload() { $config['upload_path'] = './data/uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 100; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); if ( ! $this->upload->do_upload('userfile')) { $error = array('error' => $this->upload->display_errors()); $this->load->view('upload_form', $error); } else { $data = array('upload_data' => $this->upload->data()); $this->load->library('image_lib'); list($width, $height) = getimagesize($data['upload_data']['full_path']); $config['image_library'] = 'gd2'; $config['source_image'] = $data['upload_data']['full_path']; $config['maintain_ratio'] = TRUE; if($width >= $height) { $config['master_dim'] = 'height'; }else{ $config['master_dim'] = 'width'; } $config['width'] = 180; $config['height'] = 180; $this->image_lib->initialize($config); $this->image_lib->resize(); $config['maintain_ratio'] = FALSE; if($width >= $height) { $config['x_axis'] = floor(($width * 180 / $height - 180)/2); }else{ $config['y_axis'] = floor(($height * 180 / $width - 180)/2); } $this->image_lib->initialize($config); $this->image_lib->crop(); $this->load->view('upload_success', $data); } } }
概要: 以上が内容です。この記事が皆様の学習のお役に立てば幸いです。
関連する推奨事項:
PHP は複数画像アップロード機能と単一画像アップロード機能を実装します
PHP 携帯電話 SMS 認証コード実装プロセスの詳細な説明
phpWeChat パブリック プラットフォームの開発 WeChat グループ メッセージングの例の共有
以上がCodeIgniter に基づいて PHP で画像のアップロードと切り取り機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。