Я пытаюсь использовать функцию getimagesize. Я использую Dropzone.js для загрузки изображения, и я использую codeigniter.
Функция загрузки:
public function upload() //upload multiple images-dropzone
{
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$fileName = str_replace(' ', '_', $_FILES["file"]["name"]);
$file_name = substr(uniqid(rand()),0,10000).'_'.$fileName ;
$targetPath = './uploads/';
$targetFile = $targetPath . $file_name ;
move_uploaded_file($tempFile, $targetFile);
$this->thumb($targetFile,$targetPath,$file_name,$tempFile);
}}
Моя функция большого пальца:
function thumb($targetFile,$targetPath,$file_name,$tempFile)
{
require_once('php_image_magician.php');
$magicianObj = new imageLib($targetFile);
list($width, $height, $type, $attr) = getimagesize($tempFile);
if($width = $height)
{
$magicianObj->resizeImage(150,150);
}
else if($width > $height)
{
$magicianObj->resizeImage(150,40);
}
else
{
$magicianObj->resizeImage(40,150);
}
// saving file to thumb directory
$magicianObj->saveImage($targetPath . 'thumb/' . $file_name, 100);
}
В этом состоянии я пытаюсь сравнить высоту и ширину, но она не работает должным образом. Это всегда занимает первое условие.
Вы использовали move_uploaded_file, поэтому $ tempFile не будет найден после того, как он был уже перенесен, используйте функцию copy().
==
Также Codeigniter имеет свою собственную библиотеку загрузки / обработки изображений.