Я пытаюсь создать сайт, где пользователь может создать свою учетную запись и автоматически создать свою папку на моем хосте.
Я пишу это:
$addtothedb="INSERT INTO login(firstname,lastname,useremail,password,Gender,Dateofbirth) VALUES ('". $fristname . "','". $laname ."','" . $email . "','". $pass ."')" ;
$result=mysqli_query($con,$addtothedb);
$cur = "USERS/";
$gofile=$cur.$email;
if($result){
if ( mkdir($gofile,0777) ) {
} else {
}
echo " Account Successfully Created. <br> Now you can Login. ";
}
else {
echo "<center>Failure</center>";
}
Так что теперь он загружает свои фотографии. Я хочу, чтобы фотографии попадали в его папку, а не в папку USERS / Directory.
Я пытаюсь этот скрипт, но не работает, как я хочу.
<?php
$con = mysqli_connect("localhost","root","","test");
echo $_SESSION['name']."<br />" ;
$cur = "USERS/";
$gofile=$cur .$_SESSION["name"];
echo $gofile;
$des= dirname($gofile.'/'.$_SESSION['name']);echo "<br/>";
echo $des;
?>
Ваша переменная $ gofile построена не так, как вы ожидаете. вывод будет что-то вроде:
USERS/pokeybit/pokeybit
$ des должно быть:
$des=$cur."/".$_SESSION['name']; //for the path to be "USERS/pokeybit"$des=$_SESSION['name']; //for the path to be "pokeybit"$des="../".$_SESSION['name']; //for the path to be "parent_folder/pokeybit"
Ваш сценарий находится рядом с загрузкой файла и помещением его в каталог. Сначала вам нужна форма, и у меня есть базовый скрипт для загрузки.
Форма XHTML
<form action="accept-file.php" method="post" enctype="multipart/form-data">
Your Photo: <input type="file" name="photo" size="25" />
<input type="submit" name="submit" value="Submit" />
</form>
Вам нужно будет использовать значение multipart / form-data для свойства формы enctype. Вам также, очевидно, понадобится хотя бы один элемент ввода типа файла. Тег действия формы должен предоставлять URL, который указывает на файл, содержащий фрагмент PHP ниже.
PHP
//if they DID upload a file...
if($_FILES['photo']['name'])
{
//if no errors...
if(!$_FILES['photo']['error'])
{
//now is the time to modify the future file name and validate the file
$new_file_name = strtolower($_FILES['photo']['tmp_name']); //rename file
if($_FILES['photo']['size'] > (1024000)) //can't be larger than 1 MB
{
$valid_file = false;
$message = 'Oops! Your file\'s size is to large.';
}
//if the file has passed the test
if($valid_file)
{
//move it to where we want it to be
move_uploaded_file($_FILES['photo']['tmp_name'], 'uploads/'.$new_file_name);
$message = 'Congratulations! Your file was accepted.';
}
}
//if there is an error...
else
{
//set that to be the returned message
$message = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error'];
}
}
//you get the following information for each file:
$_FILES['field_name']['name']
$_FILES['field_name']['size']
$_FILES['field_name']['type']
$_FILES['field_name']['tmp_name']