开发者社区> 问答> 正文

PHP怎么实现图片的上传与显示?

PHP链接数据库,将图片上传至服务器文件夹,再将地址保存至数据库,求具体代码

展开
收起
小旋风柴进 2016-03-06 10:53:06 2520 0
1 条回答
写回答
取消 提交回答
  • 例如:

    <?php
    /******************************************************************************
    参数说明:
    $max_file_size : 上传文件大小限制, 单位BYTE
    $destination_folder : 上传文件路径
    ******************************************************************************/
    include "conn.php";
    //上传文件类型列表
    $uptypes=array(
    'image/jpg',
    'image/jpeg',
    'image/png',
    'image/pjpeg',
    'image/gif',
    'image/bmp',
    'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'application/pdf',
    'application/msword',
    'image/x-png'
    );
    $max_file_size=2000000; //上传文件大小限制, 单位BYTE
    $destination_folder="up1/"; //上传文件路径
    ?>
    <html>
    <head>
    <title>文件上传程序</title>
    <style type="text/css">
    <!--
    body
    {
    font-size: 9pt;
    }
    input
    {
    background-color: #66CCFF;
    border: 1px inset #CCCCCC;
    }
    -->
    </style>
    </head>
    <body>
    <form enctype="multipart/form-data" method="post" name="upform">
    上传文件:
    <input name="upfile" type="file">
    <input type="submit" value="上传"><br>
    允许上传的文件类型为:<?php echo implode(',',$uptypes)?>
    </form>
    <?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
    if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))
    //是否存在文件
    {
    echo "您还没有选择文件!";
    exit;
    }
    $file = $_FILES["upfile"];
    if($max_file_size < $file["size"])
    //检查文件大小
    {
    echo "您选择的文件太大了!";
    exit;
    }
    if(!in_array($file["type"], $uptypes))
    //检查文件类型
    {
    echo "文件类型不符!".$file["type"];
    exit;
    }
    if(!file_exists($destination_folder))
    {
    mkdir($destination_folder);
    }
    $filename=$file["tmp_name"];
    $image_size = getimagesize($filename);
    $pinfo=pathinfo($file["name"]);
    $ftype=$pinfo['extension'];
    $destination = $destination_folder.time().".".$ftype;
    if (file_exists($destination) && $overwrite != true)
    {
    echo "同名文件已经存在了";
    exit;
    }
    if(!move_uploaded_file ($filename, $destination))
    {
    echo "移动文件出错";
    exit;
    }
    $pinfo=pathinfo($destination);
    $fname=$pinfo['basename'];
    echo " <font color=red>已经成功上传</font><br>完整地址: <font color=blue>http://localhost/new/".$destination_folder.$fname."</font><br>";
    echo "<br> 大小:".$file["size"]." bytes";
    echo '<br>';
    //将数据插入到数据库中
    $dizhi = "http://localhost/new/"."$destination_folder"."$fname";
    $name = $file['name'];
    $sql = "insert into `excel`(`id`,`dizhi`,`name`) values ('NULL','$dizhi','$name')";
    mysql_query($sql);
    echo "数据插入成功";
    }
    ?>
    </body>
    [/php]
    2019-07-17 18:54:15
    赞同 1 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载