使用php捕获数据和图像,将数据保存在基于文件名动态命名的新目录中


Capturing data AND image with php, saving data in a new directory named dynamically based upon filename

我对PHP有点缺乏经验,所以如果能得到任何帮助,我将不胜感激。我正在寻找:

捕获用户的名字、姓氏和图像。在他们将这些数据放入表单后,它将被发送到php处理器,该处理器使用用户的姓氏作为变量,并将其设置为一个新目录,其中包含data.txt和avatar.jpg |.png|.bmp|.gif(应包含输入到web表单中的所有信息)。安全性不是问题,验证也不是问题,因为我已经涵盖了这一部分。我只需要知道我该怎么做。下面是一些示例代码,它目前让我没有位置:

index.html:

<form enctype="multipart/form-data" action="process.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="512000" />
<input type="text" name="fname">
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>

process.php

<?php
    $uploaddir = '/home/nicholasabrams/public_html/' + $_POST['lname'] + '/'
                +  $_FILES['userfile']['name'];
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
    echo "<p>";

    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
      echo "File is valid, and was successfully uploaded.'n";
    } else {
       echo "Upload failed";
    }
    echo "</p>";
    echo '<pre>';
    echo 'Here is some more debugging info:';
    print_r($_FILES);
    print "</pre>";

确保姓氏是唯一的,你可以通过多种方式做到这一点,所以我将把剩下的留给你

<?php
//process.php
$uploaddir = '/home/nicholasabrams/public_html/' + $_POST['lname'].'/';
//TODO get the extension of a file from $_FILES['userfile']['name']
//$EXTENSION=.....
$EXTENSION = 'jpg';  
if( ! is_dir($uploaddir) ){
  mkdir($uploaddir);
}else{
// CONFLICT differen user same last name , or same user needs to change some data
}
 if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.'avatar.'.$EXTENSION ){
   $data = "Last Name:" . $_POST['lname'] ."'n";
   //$data .= ..... additional data that you need
   file_put_contents($uploaddir.'data.txt',$data);
}