欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

为Hanking解读代码

程序员文章站 2022-05-30 13:40:27
...
为Hanking解读代码
<?php
// 上传的最终目录
$dirname = "/tmp/phonegap/uploads";
// 如果有上传文件的话
// 凡是以上传的方式post的话,这个$_FILES都会有内容
// 这里最好改为 if (!empty($_FILES))
if ($_FILES) {
    // 打印出上传的内容
    print_r($_FILES);
    // 创建上传的最终目录, mkdir(目录名称, 目录访问权限, 如果目录不存在是否递归创建目录)
    // 这里最好判断一下if (!is_dir($dirname))
    mkdir ($dirname, 0777, true);
    // 将上传文件从临时目录中转移到最终的目录。
    // 这里说一下,php的上传模式,所有php的上传,是默认传到系统的临时文件夹中,
    // 如果你不调用move_uploaded_file,他是不会将文件移动到你想要目录去的。
    // 如果你制定了php.ini中,上传的临时文件,临时文件夹则是php.ini中指定的文件夹。
    move_uploaded_file($_FILES["file"]["tmp_name"],$dirname."/".$_FILES["file"]["name"]);
}
// 如果uri中的query string中,有image=xxxxx的方式的话
else if (isset($_GET['image'])) {
    // 生成该图片保存到本地的全路径
    // 这里不做过滤和检查,很危险的哦
    $file = $dirname."/".$_GET['image'];
    // 指定当前请求转为jpeg的header输出
    header('Content-type: image/jpeg');
    // 取得图片的信息
    list($width, $height) = getimagesize($file);
    // 这里是重新调整图片的大小
    $newWidth = 120.0;
    $size = $newWidth / $width;
    $newHeight = $height * $size;
    $resizedImage = imagecreatetruecolor($newWidth, $newHeight);
    // 将图片生成到$file的路径中去
    $image = imagecreatefromjpeg($file);
    imagecopyresampled($resizedImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
    // 并且创建一张品质为80的缩略图预览
    imagejpeg($resizedImage, null, 80);
}
// If displaying images
else {
    // 这个是生成当前服务器的基础url
    $baseURI = "http://".$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
    // 获取上传目录下的文件名
    $images = scandir($dirname);
    $ignore = Array(".", "..");
    // 如果存在文件的话,
    // 这里最好改为 if (!empty($images))
    if ($images) {
        // 遍历这个目录下的文件,并且生成<img>以供观看
        // 不过这写法也太不讲究了,不分目录和文件
        foreach($images as $curimg){
            if (!in_array($curimg, $ignore)) {
                echo "Image: ".$curimg."<br>";
                echo "<img src='".$baseURI."?image=".$curimg."&rnd=".uniqid()."'><br>";
            }
        }
    }
    else {
        echo "No images on server";
    }
}
?>

以上就是为Hanking解读代码的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签: Hanking,解读代码