PHP - сделать код каталога не работает

0

У меня проблема с некоторым PHP-кодом, и я не могу понять, почему он не работает.

Итак, чтобы сократить длинную историю, я создаю сайт социальной сети, и пользователям разрешено загружать собственное изображение профиля. Чтобы запретить другим людям просматривать все изображения, я делаю это так, чтобы пользователь загружал изображение профиля, создавая новый случайно созданный каталог. Когда я нажимаю "Загрузить", он не создает каталог. (Никакие изображения не должны входить в каталог в данный момент времени, только каталог должен быть создан, но это не так). Спасибо за помощь.

Код PHP:

if (isset($_FILES['profilepic'])) {    if
(((@$_FILES["profilepic"]["type"]=="image/jpeg") ||
(@$_FILES["profilepic"]["type"]=="image/png") ||
(@$_FILES["profilepic"]["type"]=="image/gif"))&&(@$_FILES["profilepic"]["size"]
< 1048576)) //1 Megabyte   {    $chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";   
$rand_dir_name = substr(str_shuffle($chars), 0, 15);   
mkdir("./userdata/profile_pics/$rand_dir_name");

}
else
{

}
}

Код HTML:

<p style="font-size: 20px;">Upload a Profile Picture</p><br />
<form action="" method-"POST" enctype="multipart/form-data">
<img src="./img/default_pic.png" width="70" height="70">
<input type="file" name="profilepic" /><br />
<i>Your Profile Picture must <b>not</b> violate any of the <a href="#">Terms and Conditions</a>!</i><br />
<input type="submit" name="uploadpic" value="Upload Image">
</form>
  • 0
    ваша переменная должна быть закомментирована? и> на самом деле в вашем коде?
  • 0
    Во-первых, у вас есть заблудившаяся мысль if и ваш бодрящий путь далеко.
Показать ещё 15 комментариев
Теги:
directory
dir

1 ответ

0

Если ваша скобка и другой код верны, чем может быть проблема для каталога разрешения, если вы находитесь на сервере Linux, и/или вложенные каталоги не были созданы

попробуй это

mkdir ("./userdata/profile_pics/$rand_dir_name", 0777 , true); 

второй параметр - восьмеричное значение, которое дает ему самое широкое разрешение, а третий параметр позволяет mkdir также создавать вложенные каталоги, такие как userdata и profile_pics.

  • 0
    изменил это и до сих пор ничего. Я использую Coffee Cup Direct FTP, если это поможет. Я попробовал это с помощью Filezilla, и это тоже не сработало.
  • 0
    Вы ищете каталоги в нужном месте. потому что вы используете относительный путь с ./ Попробуйте его с абсолютным путем. Вы можете найти абсолютный путь с помощью функции phpinfo ()
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню