PHP 面试题 目录

PHP 中如何处理上传的文件?

推荐答案

在 PHP 中处理上传的文件通常涉及以下几个步骤:

  1. 创建 HTML 表单:确保表单的 enctype 属性设置为 multipart/form-data,以便支持文件上传。

  2. 在 PHP 脚本中处理上传的文件:使用 $_FILES 超全局数组来访问上传的文件信息。

    -- -------------------- ---- -------
    -----
    -- --------------------------- -- ------- -
        ----------- - -----------
        ------------ - ----------- - ------------------------------------------
        --------- - --
        -------------- - --------------------------------- ---------------------
    
        -- ----------
        -- --------------------------- -
            ---- ------- ---- ------- ---------
            --------- - --
        -
    
        -- ------
        -- -------------------------------- - ------- -
            ---- ------- ---- ---- -- --- --------
            --------- - --
        -
    
        -- --------
        ----------------- -- ----- -- -------------- -- ----- -- -------------- -- ------
        -- -------------- -- ----- - -
            ---- ------- ---- ---- ----- --- - --- ----- --- ----------
            --------- - --
        -
    
        -- -- --------- --- -
        -- ---------- -- -- -
            ---- ------- ---- ---- --- --- -----------
        -- -------------
        - ---- -
            -- -------------------------------------------------------- -------------- -
                ---- ---- ---- -- ----------------- --------- ---------------------------------- - --- ---- -----------
            - ---- -
                ---- ------- ----- --- -- ----- --------- ---- -------
            -
        -
    -
    --

本题详细解读

1. HTML 表单

  • enctype="multipart/form-data":这是必须的,因为它允许表单上传文件。
  • <input type="file">:用于选择要上传的文件。

2. PHP 文件处理

  • $_FILES 数组:包含了上传文件的所有信息,如文件名、临时文件路径、文件大小等。
  • move_uploaded_file():将上传的文件从临时目录移动到指定的目标目录。

3. 安全性考虑

  • 文件类型检查:通过 pathinfo() 函数获取文件扩展名,并检查是否为允许的类型。
  • 文件大小限制:通过 $_FILES["fileToUpload"]["size"] 检查文件大小,防止上传过大的文件。
  • 文件存在性检查:通过 file_exists() 检查目标文件是否已存在,避免覆盖。

4. 错误处理

  • $uploadOk 变量:用于跟踪文件上传过程中是否出现错误。如果出现错误,$uploadOk 会被设置为 0,并阻止文件上传。

通过以上步骤,可以安全地处理用户上传的文件,并确保文件上传过程的安全性。

纠错
反馈