Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调整图片大小来自PHP中的android应用程序_Php_Android_Image_File Upload - Fatal编程技术网

调整图片大小来自PHP中的android应用程序

调整图片大小来自PHP中的android应用程序,php,android,image,file-upload,Php,Android,Image,File Upload,我们有一个android应用程序,我们希望通过在PHP中发布来自android应用程序的图像来保存2个输出图像 我们的问题是没有指定中的图像类型,并且应用程序中任何类型的所有图像都带有.png扩展名。 正如我现在所说,要调整图像的大小,我们现在应该调整它的类型 那么,如何调整未知类型图像的大小并将其保存到文件中呢 我的代码: if (isset($_FILES["img1"])){ move_uploaded_file($_FILES["img1"]["tmp_name"] , "../

我们有一个android应用程序,我们希望通过在PHP中发布来自android应用程序的图像来保存2个输出图像
我们的问题是没有指定中的图像类型,并且应用程序中任何类型的所有图像都带有.png扩展名。 正如我现在所说,要调整图像的大小,我们现在应该调整它的类型
那么,如何调整未知类型图像的大小并将其保存到文件中呢

我的代码:

if (isset($_FILES["img1"])){
    move_uploaded_file($_FILES["img1"]["tmp_name"] , "../../spl_img/".$gallery_id."-img1.png");

    $address = "../../spl_img/".$gallery_id."-img1.png";
    $resizeObj = new resize($address);
    $resizeObj -> resizeImage(80, 'portrait');
    $resizeObj -> saveImage("../../spl_img_thumb/".$gallery_id."-img1.png", 100);
当我想用jpg类型和png扩展名调整图像大小时收到的错误:

Warning: imagecreatetruecolor() expects parameter 2 to be long, string given in /home/porsojoy/public_html/webservice/spl_img/resize-class.php on line 76

Warning: imagecopyresampled() expects parameter 1 to be resource, null given in /home/porsojoy/public_html/webservice/spl_img/resize-class.php on line 77

Warning: imagejpeg() expects parameter 1 to be resource, null given in /home/porsojoy/public_html/webservice/spl_img/resize-class.php on line 217

Warning: imagedestroy() expects parameter 1 to be resource, null given in /home/porsojoy/public_html/webservice/spl_img/resize-class.php on line 246

使用exif方法检查图像类型比在点后查看文件扩展名更准确。

可以重写类中的函数“openImage()”

            private function openImage($file)
        {

           switch (exif_imagetype($file))
            {
                    case IMAGETYPE_GIF:
                        $img = @imagecreatefromgif($file);
                    break;

                    case IMAGETYPE_JPEG:
                        $img = @imagecreatefromjpeg($file);
                    break;

                    case IMAGETYPE_PNG:
                        $img = @imagecreatefrompng($file);
                    break;

            }

            return $img;
        }
不要忘记在php.ini文件中启用EXIF扩展名

在Windows上取消对以下行的注释:
extension=php\u mbstring.dll
extension=php_exif.dll


更多信息:

致命错误:在第43行的/home/porsojoy/public\u html/webservice/spl\u img/resize-class.php中调用未定义的函数exif\u imagetype(),我的php.ini中有这个部分:[exif];Exif UNICODE用户注释作为UCS-2BE/UCS-2LE处理,JIS作为JIS处理;有了mbstring支持,这将自动转换为编码;由相应的编码设置给出。当mbstring.internal_编码为空时;使用。对于解码设置,您可以区分motorola和;英特尔字节顺序。解码设置不能为空;exif.encode_unicode=ISO-8859-15 exif.decode_unicode_motorola=“UCS-2BE”exif.decode_unicode_intel=“UCS-2LE”;exif.encode\u jis=exif.decode\u jis\u motorola=jis exif.decode\u jis\u intel=jis似乎没有启用扩展。请检查文件(php_mbstring.dll和php_exif.dll)是否存在于php根目录下的“ext”文件夹中。这是我的php.ini代码:;可加载扩展(模块)所在的目录。extension_dir=“/usr/local/lib/php/extensions/no-debug-non-zts-20090626”zend_extension=“/usr/local/IonCube/IonCube_loader_lin_5.3.so”zend_extension=“/usr/local/zend/lib/Guard-5.5.0/php-5.3.x/ZendGuardLoader.so”extension=“php_mbstring.dll”extension=“php_exif.dll”extension=“eaccelerator.so”extension=”“pdo.so”extension=“pdo_sqlite.so”extension=“sqlite.so”extension=“pdo_mysql.so”extension=“ixed.5.3.lin”