• <legend id='JywX8'><style id='JywX8'><dir id='JywX8'><q id='JywX8'></q></dir></style></legend><tfoot id='JywX8'></tfoot>

    <small id='JywX8'></small><noframes id='JywX8'>

        <bdo id='JywX8'></bdo><ul id='JywX8'></ul>

      1. <i id='JywX8'><tr id='JywX8'><dt id='JywX8'><q id='JywX8'><span id='JywX8'><b id='JywX8'><form id='JywX8'><ins id='JywX8'></ins><ul id='JywX8'></ul><sub id='JywX8'></sub></form><legend id='JywX8'></legend><bdo id='JywX8'><pre id='JywX8'><center id='JywX8'></center></pre></bdo></b><th id='JywX8'></th></span></q></dt></tr></i><div id='JywX8'><tfoot id='JywX8'></tfoot><dl id='JywX8'><fieldset id='JywX8'></fieldset></dl></div>

        PHP 图片文件上传实现代码

        时间:2023-12-12

        <small id='7Sm9D'></small><noframes id='7Sm9D'>

        1. <legend id='7Sm9D'><style id='7Sm9D'><dir id='7Sm9D'><q id='7Sm9D'></q></dir></style></legend>
          <i id='7Sm9D'><tr id='7Sm9D'><dt id='7Sm9D'><q id='7Sm9D'><span id='7Sm9D'><b id='7Sm9D'><form id='7Sm9D'><ins id='7Sm9D'></ins><ul id='7Sm9D'></ul><sub id='7Sm9D'></sub></form><legend id='7Sm9D'></legend><bdo id='7Sm9D'><pre id='7Sm9D'><center id='7Sm9D'></center></pre></bdo></b><th id='7Sm9D'></th></span></q></dt></tr></i><div id='7Sm9D'><tfoot id='7Sm9D'></tfoot><dl id='7Sm9D'><fieldset id='7Sm9D'></fieldset></dl></div>

                <tbody id='7Sm9D'></tbody>
                <bdo id='7Sm9D'></bdo><ul id='7Sm9D'></ul>
                <tfoot id='7Sm9D'></tfoot>

                  下面我来详细讲解一下“PHP 图片文件上传实现代码”的完整攻略。

                  步骤一:HTML表单制作

                  HTML表单用于用户上传图片,代码如下:

                  <form action="upload.php" method="post" enctype="multipart/form-data">
                    <label for="file">上传图片:</label>
                    <input type="file" name="file" id="file" />
                    <br />
                    <input type="submit" name="submit" value="上传" />
                  </form>
                  

                  在这个表单中,我们使用了 enctype="multipart/form-data",这是因为图片和其他数据是以二进制流的形式上传的,而非字符串形式的,因此必须使用这种编码方式。

                  步骤二:PHP服务端实现

                  PHP 的服务器端实现由两部分组成:上传验证和文件处理。

                  上传验证

                  上传验证主要检查文件是否符合要求,同时生成一个唯一的文件名。

                  <?php
                  $max_size = 5*1024*1024; // 限制上传文件的大小为5M
                  $allowed_ext = array('jpg', 'jpeg', 'png', 'gif'); // 允许上传的文件格式
                  
                  if (isset($_FILES['file'])) {
                    // 判断上传文件是否出错
                    if ($_FILES['file']['error']) {
                      exit($_FILES['file']['error']); // 报告上传错误
                    }
                    // 检查文件大小是否符合要求
                    if ($_FILES['file']['size'] > $max_size) {
                      exit('文件大小超过5M,上传失败。');
                    }
                    // 获取文件的扩展名
                    $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
                    // 检查文件格式是否符合要求
                    if (!in_array($ext, $allowed_ext)) {
                      exit('不允许上传该类型的文件。');
                    }
                    // 生成唯一的文件名
                    $file_name = md5(uniqid()).'.'.$ext;
                  }
                  ?>
                  

                  文件处理

                  文件处理主要是将上传的文件移动到服务器上指定的目录中。

                  <?php
                  if (isset($file_name)) {
                    $path = "uploads/".$file_name; // 设置上传文件的保存路径
                    if (move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
                      echo '上传成功。'; // 输出上传结果
                    } else {
                      echo '上传失败。'; // 输出上传结果
                    }
                  }
                  ?>
                  

                  步骤三:完整代码演示

                  <?php
                  $max_size = 5*1024*1024; // 限制上传文件的大小为5M
                  $allowed_ext = array('jpg', 'jpeg', 'png', 'gif'); // 允许上传的文件格式
                  
                  if (isset($_FILES['file'])) {
                    // 判断上传文件是否出错
                    if ($_FILES['file']['error']) {
                      exit($_FILES['file']['error']); // 报告上传错误
                    }
                    // 检查文件大小是否符合要求
                    if ($_FILES['file']['size'] > $max_size) {
                      exit('文件大小超过5M,上传失败。');
                    }
                    // 获取文件的扩展名
                    $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
                    // 检查文件格式是否符合要求
                    if (!in_array($ext, $allowed_ext)) {
                      exit('不允许上传该类型的文件。');
                    }
                    // 生成唯一的文件名
                    $file_name = md5(uniqid()).'.'.$ext;
                  }
                  
                  if (isset($file_name)) {
                    $path = "uploads/".$file_name; // 设置上传文件的保存路径
                    if (move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
                      echo '上传成功。'; // 输出上传结果
                    } else {
                      echo '上传失败。'; // 输出上传结果
                    }
                  }
                  ?>
                  

                  注:上传的文件会被保存在 uploads 目录下。

                  示例说明

                  示例一

                  上传一张宽度为 600 像素、高度为 400 像素的 jpg 格式图片。上传成功后,输出“上传成功”。

                  <form action="upload.php" method="post" enctype="multipart/form-data">
                    <label for="file">上传图片:</label>
                    <input type="file" name="file" id="file" />
                    <br />
                    <input type="submit" name="submit" value="上传" />
                  </form>
                  

                  示例二

                  上传一张宽度为 1200 像素、高度为 800 像素的 bmp 格式图片。上传失败后,输出“不允许上传该类型的文件”。

                  <form action="upload.php" method="post" enctype="multipart/form-data">
                    <label for="file">上传图片:</label>
                    <input type="file" name="file" id="file" />
                    <br />
                    <input type="submit" name="submit" value="上传" />
                  </form>
                  
                  上一篇:编写自己的php扩展函数 下一篇:PHP中输出转义JavaScript代码的实现代码

                  相关文章

                  <tfoot id='MRg59'></tfoot>
                  1. <legend id='MRg59'><style id='MRg59'><dir id='MRg59'><q id='MRg59'></q></dir></style></legend>

                    1. <i id='MRg59'><tr id='MRg59'><dt id='MRg59'><q id='MRg59'><span id='MRg59'><b id='MRg59'><form id='MRg59'><ins id='MRg59'></ins><ul id='MRg59'></ul><sub id='MRg59'></sub></form><legend id='MRg59'></legend><bdo id='MRg59'><pre id='MRg59'><center id='MRg59'></center></pre></bdo></b><th id='MRg59'></th></span></q></dt></tr></i><div id='MRg59'><tfoot id='MRg59'></tfoot><dl id='MRg59'><fieldset id='MRg59'></fieldset></dl></div>

                      <small id='MRg59'></small><noframes id='MRg59'>

                      • <bdo id='MRg59'></bdo><ul id='MRg59'></ul>