上传 txt 文件并从第一行获取新文件名的字符串



在服务器上上传.txt文件时,我需要读取它,从第一行取第一行和这个字符串用于新文件名(重命名文件(。

例如,我有文件测试.txt并且在文件中有

First line - Username: DemoUser

我需要将test.txt重命名为DemoUser.txt并将此Demo.txt User重命名为存储在MySQL中

这是我的脚本

<?php
if (isset($_POST['submit']))
{
    $filename = $_FILES["file"]["name"];
    $file_basename = substr($filename, 0, strripos($filename, '.')); // get file extention
    $file_ext = substr($filename, strripos($filename, '.')); // get file name
    $filesize = $_FILES["file"]["size"];
    $allowed_file_types = array('.doc','.docx','.rtf','.pdf', '.txt');
    $file = fopen($_FILES["file"]["tmp_name"],"r");
    $result = fgets($file);
    $result = explode( ': ', preg_split( '(\r\n|\r|\n)', $result )[0] )[1];
    fclose($file);
    if (in_array($file_ext,$allowed_file_types) && ($filesize < 200000))
    {   
        // Rename file
        $newfilename = $result . $file_ext;
        if (file_exists("users/" . $newfilename))
        {
            // file already exists error
            echo "You have already uploaded this file.";
        }
        else
        {       
            move_uploaded_file($_FILES["file"]["tmp_name"], "users/" . $newfilename);
            echo "File uploaded successfully.";     
        }
    }
    elseif (empty($file_basename))
    {   
        // file selection error
        echo "Please select a file to upload.";
    } 
    elseif ($filesize > 200000)
    {   
        // file size error
        echo "The file you are trying to upload is too large.";
    }
    else
    {
        // file type error
        echo "Only these file typs are allowed for upload: " . implode(', ',$allowed_file_types);
        unlink($_FILES["file"]["tmp_name"]);
    }
}
?>

最新更新