Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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图像文件上载uppecase扩展名问题_Php_Image_Upload - Fatal编程技术网

PHP图像文件上载uppecase扩展名问题

PHP图像文件上载uppecase扩展名问题,php,image,upload,Php,Image,Upload,我有一个php脚本来处理上传的图像 如果我上传一个类似file.jpg的文件,效果会很好 但如果我试图上传file.JPG,我会遇到麻烦。即使它是相同的文件重命名 守则: if(isset($_FILES["arq"])){ @getimagesize($_FILES['arq']['tmp_name']) or $err=5; ($_FILES['arq']['error']==0) or $err=$_FILES['arq']['error']; if ($e

我有一个php脚本来处理上传的图像

如果我上传一个类似file.jpg的文件,效果会很好

但如果我试图上传file.JPG,我会遇到麻烦。即使它是相同的文件重命名

守则:

if(isset($_FILES["arq"])){ 
    @getimagesize($_FILES['arq']['tmp_name']) or $err=5; 
    ($_FILES['arq']['error']==0) or $err=$_FILES['arq']['error'];


    if ($err==0){
        $dir = "./img/".$_SESSION['estudante']."/";
        if (!is_dir($dir)){mkdir($dir);}
        $filename = substr(md5(uniqid(rand(), true)),0,20) . ".";
        $filename .= pathinfo($_FILES["arq"]["name"], PATHINFO_EXTENSION);
        $fotourl = $dir . basename($filename);//$_FILES["arq"]["name"]);
        move_uploaded_file($_FILES["arq"]["tmp_name"], $fotourl);
        //resize e cira thumbnails
        resizeimg($fotourl, 320,204);   //editfoto
        resizeimg($fotourl, 137,87);    //album
        resizeimg($fotourl, 200,0);     //home
        resizeimg($fotourl, 148,0);     //perfil
        resizeimg($fotourl, 60,60);     //thumbnail
        resizeimg($fotourl, 100,0);     //iframe perfil
        resizeimg($fotourl, 530, 530);  //slide
        resizeimg($fotourl, 330, 0);    //i slide
        //registra no BD
        $sql="INSERT INTO fotos (estudante, url) VALUES ('".$_SESSION['estudante']."', '$fotourl')";
        mysql_query($sql);
        //retorna o id da foto
        $fotoid=mysql_insert_id();
        //notifica adms somente
        $sql="select estudante from administradores";
        $adms=mysql_query($sql);
        while ($ar=mysql_fetch_assoc($adms)){
            $msg="O usuário <a href=\"perfil.php?id=$_SESSION[estudante]\">".nomeapelido($_SESSION['estudante'])."</a> inseriu uma nova <a href='fotoslide.php?fotoid=$fotoid'>imagem</a>.";
            $sql="insert into mensagens (msgde, msgpara, msgmsg) values (5, $ar[estudante], '$msg')";   // 5=cadastro do 'user' sistema
            mysql_query($sql);
            //echo "$sql\n";
        }
        mysql_free_result($adms);
    }
}
if(isset($\u文件[“arq”]){
@getimagesize($_FILES['arq']['tmp_name'])或$err=5;
($_文件['arq']['error']==0)或$err=$_文件['arq']['error'];
如果($err==0){
$dir=“./img/”$\会话['estudante']。“/”;
如果(!is_dir($dir)){mkdir($dir);}
$filename=substr(md5(uniqid(rand(),true)),0,20)。”;
$filename.=pathinfo($\u文件[“arq”][“name”],pathinfo\u扩展名);
$fotourl=$dir.basename($filename);//$\u文件[“arq”][“name”]);
移动上传的文件($文件[“arq”][“tmp文件名”],$fotourl);
//调整e cira缩略图的大小
resizeimg($fotourl,320204);//editfoto
resizeimg($fotourl,137,87);//相册
resizeimg($fotourl,200,0);//home
resizeimg($fotourl,148,0);//perfil
调整大小($fotoul,60,60);//缩略图
resizeimg($fotoul,100,0);//iframe perfil
调整大小($fotourl,530,530);//幻灯片
resizeimg($fotourl,330,0);//我的幻灯片
//注册号BD
$sql=“插入fotos(estudante,url)值(“$\u会话['estudante']。”,“$fotourl”)”;
mysql_查询($sql);
//雷托纳·奥伊达·福托
$fotoid=mysql_insert_id();
//萨门特公告
$sql=“从AdministraStores中选择estudante”;
$adms=mysql\u查询($sql);
而($ar=mysql\u fetch\u assoc($adms)){
$msg=“Ousuário inseriu uma nova。”;
$sql=“插入mensagens(msgde、msgpara、msgmsg)值(5、$ar[estudante]、“$msg”)”;//5=cadastro do“user”sistema
mysql_查询($sql);
//回显“$sql\n”;
}
mysql_免费_结果($adms);
}
}

移动文件时,您应该能够将扩展名重命名为小写。如果保留初始文件扩展名的实际情况非常重要,那么在应用strtolower之前将其存储在变量中,将其传递到imgresize函数中,并在保存调整大小的img时将其用于扩展名就足够简单了

$filename .= strtolower(pathinfo($_FILES["arq"]["name"], PATHINFO_EXTENSION));
$fotourl = $dir . basename($filename);//$_FILES["arq"]["name"]);
move_uploaded_file($_FILES["arq"]["tmp_name"], $fotourl);

你能解释一下“有麻烦”是什么意思吗?什么样的麻烦?错误消息?
$\u文件['arq']['Error']==0
?认真地我没有为他们把PHP上传错误变成常量而抱怨,只是为了让人们硬编码而已/“问题”在于它只创建了一个60x60px的小映像。不会创建所有ohter大小。