PHP检查上传文件是否已存在

  在PHP中,可以使用以下步骤来检查上传的文件是否已存在或者重名:

  获取上传文件的信息,包括文件名。

  构建目标文件的路径。

  使用 file_exists 函数检查目标文件是否已经存在。

<?php
$uploadDir = 'uploads/';  // 上传文件保存的目录

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['uploaded_file'])) {
    $uploadedFile = $_FILES['uploaded_file'];
    
    // 获取上传文件的信息
    $fileName = $uploadedFile['name'];
    $fileType = $uploadedFile['type'];
    $fileSize = $uploadedFile['size'];
    $fileTmpName = $uploadedFile['tmp_name'];
    $fileError = $uploadedFile['error'];
    
    // 构建目标文件的路径
    $targetFilePath = $uploadDir . $fileName;
    
    // 检查文件是否已经存在
    if (file_exists($targetFilePath)) {
        echo "文件已存在或重名,请更改文件名后再试。";
    } else {
        // 如果文件不存在,则进行上传
        move_uploaded_file($fileTmpName, $targetFilePath);
        echo "文件上传成功!";
    }
}

  file_exists 函数用于检查目标文件是否已经存在。如果文件存在,就输出一个相应的提示信息;如果文件不存在,就使用 move_uploaded_file 函数将上传的文件移动到目标路径。

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/125.html

上一篇 2015-08-20
下一篇 2015-09-05

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • CSS创建竖排文字的简单方法

      在制作网页的时候我们经常需要创建一些竖排的文字,或许这对你来说是一件很简单的事情,但是你是否想过用CSS可有N种创建竖排文字的方法?下面是由我翻译自Nettuts+的文章,希望这几种方法能够给你带来一些提示。   方法一:&lt;br /&gt;标签   一种可能的方法(但不推荐)是在每个字母后面添加&lt;br /&gt;标签来实现竖排文字: &lt;h1&gt; N &lt;br /&gt;E &lt;br /&gt;T ......

    2013-11-27
    13890
  • 一个经典的PHP加密解密算法

      项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。   最常见的应用在用户登录以及一些API数据交换的场景。   最常见的应用在用户登录以及一些API数据交换的场景。   笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果......

    2016-06-07
    10920
  • PHP图片上传并重命名图片的功能实现原理

      通过表单上传图片是网站开发中经常需要的功能,并且为避免相同文件名上传覆盖掉之前的文件还需要将上传的图片重新命名。图片上传的方法有很多种,包括用框架或插件上传,但底层实现原理都是一样的,下面简单介绍一下原生PHP中图片上传并重命名的实现原理: &lt;?php // PHP图片上传并重命名简单方法 // 获取上传文件 $file = $_FILES['file']; // 获取上传文件名 $fileName = $file['na......

    2014-07-31
    16770
  • PHP生成HTML静态页原理

      在PHP中生成静态页通常涉及将动态生成的内容缓存为HTML文件,以便后续的访问可以直接加载静态文件而无需再次执行PHP脚本。这可以提高网站性能,减轻服务器负担,并改善页面加载速度。   创建动态内容的PHP文件(例如,dynamic_page.php) &lt;?php // 这是一个简单的动态内容生成示例 $dynamicContent = "这是动态生成的内容,当前时间:" . date('Y-m-d H:i:s'); ......

    2014-02-17
    10860
  • 王杰出道35周年出新歌,60岁浪子仍洒脱

      12月17日,消失在歌迷视线中多年的老牌创作型歌手王杰突然发布了一首新歌《一场游戏一场梦(结束篇)》,今年是2022年,正好是王杰出道35年整。1987年12月19日,王杰在台湾发行首张专辑《一场游戏一场梦》正式出道,这张专辑一经发行就轰动了整个华语乐坛,在中国台湾、中国香港、中国大陆、东南亚等地都创下了惊人的销量,专辑中的同名主打歌《一场游戏一场梦》、《安妮》等歌曲直到今天依然是KTV点唱率非常高的歌曲。 点击上方播放视......

    2022-12-24
    8510
  • PHP实现签到功能

      首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态   在用户签到状态表中我们有一个字段,last_sign_time,即上一次签到时间,每次可以签到的时候把这个时间与当前时间进行比较 如果相差为0天,则说明今天已签到(这个签到是24小时内只能签到一次,即两次签到时间要相差24小时以上).如果等于一天则今日可以签到,如果2天及其以上则说明漏签了.   通过时间戳的判断,及......

    2016-09-16
    14380
  • 再谈PHP错误与异常处理

      请一定要注意,没有特殊说明:本例 PHP Version &lt; 7   说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php &lt;?php $num = 0; try { echo 1/$num; } catch (Exception $e){ ......

    2017-06-12
    14020
  • PHP依赖注入的简单示例

      依赖注入(Dependency Injection,简称DI)是一种设计模式,它可以帮助你更好地管理代码的依赖关系。在PHP中,依赖注入通常用于使代码更易于测试、理解和维护。通过使用依赖注入,你可以将一个对象的依赖项从内部注入到对象中,而不是在对象内部直接实例化这些依赖项。   在使用依赖注入时,加载顺序通常不再是一个问题,因为你不再需要在对象内部负责实例化其依赖项。相反,你将依赖项通过构造函数、方法参数或者其他方式注入到对象中。 ......

    2016-01-29
    18670