php如何实现上传pdf文件(php实现文件上传的函数)

发布时间:2022-11-11

本文目录一览:

  1. 怎样用PHP实现文件上传
  2. php如何实现文件上传
  3. php怎样上传PDF文件到sql2000数据库?
  4. 如何在php上实现文件上传功能
  5. 想要将PDF文件进行上传,需要做好那几个步骤
  6. PHP如何实现上传PDF文件,在线阅读PDF文件

怎样用PHP实现文件上传

创建一个文件上传表单 允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单:

html
body
form action="upload_file.php" method="post"
enctype="multipart/form-data"
label for="file">Filename:/label
input type="file" name="file" id="file" /
br /
input type="submit" name="submit" value="Submit" /
/form
/body
/html

请留意如下有关此表单的信息:

  • form 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"
  • input 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。

注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。

创建上传脚本

"upload_file.php" 文件含有供上传文件的代码:

<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。 第一个参数是表单的 input name,第二个下标可以是 "name""type""size""tmp_name""error"。就像这样:

  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码 这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。

上传限制

在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif.jpeg 文件,文件大小必须小于 20 kb:

<?php
if ((($_FILES["file"]["type"] == "image/gif") ||
     ($_FILES["file"]["type"] == "image/jpeg") ||
     ($_FILES["file"]["type"] == "image/pjpeg")) &&
    ($_FILES["file"]["size"] < 20000))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
}
else
{
    echo "Invalid file";
}
?>

注释:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg

保存被上传的文件

上面的例子在服务器的 PHP 临时文件夹创建了一个被上传文件的临时副本。 这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:

<?php
if ((($_FILES["file"]["type"] == "image/gif") ||
     ($_FILES["file"]["type"] == "image/jpeg") ||
     ($_FILES["file"]["type"] == "image/pjpeg")) &&
    ($_FILES["file"]["size"] < 20000))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            move_uploaded_file($_FILES["file"]["tmp_name"],
                               "upload/" . $_FILES["file"]["name"]);
            echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
    }
}
else
{
    echo "Invalid file";
}
?>

上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。

注释:这个例子把文件保存到了名为 "upload" 的新文件夹。

php如何实现文件上传

所谓上传就是把文件从你电脑本地复制到你的项目指定文件夹下。 但这有个中间过程,就是复制到系统指定的临时文件夹生成临时文件。 然后将临时文件复制到你指定的文件夹下。 剩下的就是各种验证了。 给你个图片上传方法:

//上传一张图片
$pic = $_FILES['pic'];
function upload($pic){
    $tmp_name = $pic['tmp_name'];
    $name = $pic['name'];
    $type = $pic['type'];
    $size = $pic['size'];
    if(!is_uploaded_file($tmp_name)) exit('不是上传文件');
    //判断是否是图片
    $mine = array('image/png','image/jpg','image/gif','image/jpeg');
    if(!in_array($type,$mine)) exit('图片格式不正确');
    //判断是否有错误码
    $error = $pic['error'];
    switch ($error) {
        case 1:
            exit("超出上传文件的最大限制");
        case 2:
            exit("超出了指定的文件大小");
        case 3:
            exit("只有部分文件被上传");
        case 4:
            exit("文件没有被上传");
        case 6:
            exit("找不到临时文件夹");
        case 7:
            exit("文件写入失败");
    }
    echo "================<br/>";
    echo "上传文件名称是:".$name."<br/>";
    echo "上传文件类型是:".$type."<br/>";
    echo "上传文件大小是:".$size."<br/>";
    echo "上传后系统返回的值是:".$error."<br/>";
    echo "上传文件的临时存放路径是:".$tmp_name."<br/>";
    echo"开始移动临时文件".'<br>';
    $des_name = 'up/'.mt_rand().time().'.'.basename($type);
    $res = move_uploaded_file($tmp_name, $des_name);
    if($res){
        echo "================<br/>";
        echo "上传图片成功".'<br>';
    }
}

php怎样上传PDF文件到sql2000数据库?

数据库保存文件名就可以了,没必要把文件保存到数据库。 保存文件名之后就可以直接找到文件。 php新手入门网为你解答,如果还有什么疑问,请到php新手入门网论坛求助提问。

如何在php上实现文件上传功能

PHP 一般使用 POST 方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:

up.htm 文件:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Up Sample</title>
</head>
<body>
<form action="up.php" method="post" enctype="multipart/form-data">
<!--备注:表单中 enctype="multipart/form-data " 的意思,是设置表单的 MIME 编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了 multipart/form-data ,才能完整的传递文件数据,进行下面的操作,并且 method 要设置为 "post" -->
File:<br />
<input type="file" name="upfile" size="30"><br />
<!--上传框要设置 type="file" -->
<br />
<input type="submit" value="Upload">
</form>
</body>
</html>

up.php 文件

<?php
if (is_uploaded_file($_FILES["upfile"]["tmp_name"])){
    //如果有文件上传
    //is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的,返回布尔值
    //$_FILES['upfilename']['...'],其中的 'upfilename' 即为上传框的 name 属性
    //$_FILES['upfile']['tmp_name'] -- 文件被上传后在服务端储存的临时文件名,一般是系统默认
    if(!eregi('pdf', $_FILES['upfile']['type'])){
        //我们这里假设你要上传一个 pdf 文件
        //if(!eregi('pdf', $_FILES['upfile']['type'])) 这个是判断上传文件类型的,是不是 pdf 文件,当然,若是想判断是否是 jpg 文件的话,将 pdf 改成 jpg 就可以了,即 if(!eregi('jpg', $_FILES['upfile']['type']))
        //$_FILES['upfile']['type'] 是文件的 MIME 类型,如果浏览器提供此信息的话。例如“image/gif”
        echo 'The uploaded file is not an pdf File! Please upload a right file!';
    }else{
        $filename = $_FILES['upfile']['name'];
        //$filename = $_FILES['upfile']['name'],这里是指定上传后的文件名,这里使用的仍是原来的文件名字,($_FILES['upfile']['name'] 是原始文件的名字)
        if(move_uploaded_file($_FILES["upfile"]["tmp_name"], dirname(__FILE__)."/upload_file/".$filename)){
            //这里就是上传文件
            //dirname(__FILE__)."/upload_file/".$file_name -- 指定上传的目标文件,假设你要上传的目标文件夹upload_file 是和当前文件(upload.php)在同一文件夹下
            //chmod(dirname(__FILE__)."/upload_file/". $file_name, 0444);
            //上面注释掉的是用来改变上传后文件的属性,444 即只有执行和读的权限(看情况加上)
            echo $_FILES["upfile"]["name"] . " uploaded succeed!!!";
        }else{
            echo "Can't upload!!!";
        }
    }
}else{
    echo "File is not selected";
}
//需要注意的:
/*
在你的 up.php 同级目录下建立 upload_file 文件夹,来存放上传的文件
在上传之前要看一下 php 的配置文件:php.ini 中的三处设置
1.是否允许文件上传:( file_uploads = On )
2.文件上传的最大 size:( upload_max_filesize )
3.post 的最大 size ( post_max_size ) 这个大小设置成和 uplod_max_filesize 一样大或比 uplod_max_filesize 大
*/
/*
这只是很简单的一个文件上传的例子,为了帮助理解,只是判断了一下上传文件的类型,还可以使用 if 语句来判断上传文件的大小($_FILES['upfile']['type'])),并进行提示控制等,相关可以查阅 $_FILE['upfile'] 数组的各个值分别代表什么
*/
?>

想要将PDF文件进行上传,需要做好那几个步骤

我们想要将PDF文件进行上传的话,首先哟啊将基本的事情做好,就像一楼说的那样,首先肯定要将最简单,最基本的问题解决,那就是将标题、排版以及内容的完善,这些问题解决完之后我们在完善其他的事情。 我们在上传PDF文件是,首先要将PDF文件进行水印的添加,这样的话有利于保护题主的只是产权,但是PDF水印的添加该如何去进行操作呢?小编在这里向您介绍一下他的使用方法! a. 首先我们将PDF编辑器进行打开,没有这款编辑器的小伙伴们可以去下载一款,然后将PDF文件进行导入,准备进行下一步的操作! b. 将文件导入之后我们会在“菜单栏”上看到“文档”这一栏,然后我们就这一栏中进行点击,会在下拉框中看到“水印”,然后进行点击。 c. 点击之后我们就可以看到一些页面的设置,可以将文档中的水印进行添加 d. 将水印编辑完成之后我们就可以对它进行保存了,当然如果还有其他提防的操作还是可以进行其他的操作的! 以上就是使用PDF编辑器将文档进行水印天加的步骤和方法,将他进行完成之后就可以对文档进行上传了!

PHP如何实现上传PDF文件,在线阅读PDF文件

上传的话,跟上传图片是一样的方式,只是上传的是pdf文件,其他都一样,然后将文件的完整路径写上就可以了,点击阅读按钮,跳转到文件的地址就可以在新的标签打开文件并查看!