Я немного неопытен с PHP, поэтому я был бы признателен за любую помощь, которую я могу получить. Я ищу:
Захватите имя пользователя, фамилию и изображение. После того, как они поместили эти биты данных в форму, они будут отправлены процессору php, который использует фамилию пользователя в качестве переменной, установив его в качестве нового каталога, содержащего data.txt и avatar.jpg || .png || .bmp || .gif (который должен содержать всю информацию, введенную в веб-форму). Безопасность не является проблемой в этом, равно как и проверка, так как я рассмотрел эту часть. Мне просто нужно знать, как я могу подойти к этому. Вот некоторый пример кода, который в настоящее время получает меня никуда:
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);
}
Других решений пока нет …