$text = $_POST['description'];
$_FILES["photo"]["tmp_name"] = strtolower($_FILES["photo"]["tmp_name"]);
$path = "../imagepost/".$_FILES['photo']['name'];
if (!getimagesize($_FILES["photo"]["tmp_name"])) {
echo "Это не картинка...";
exit;
}
if($_COOKIE['user'] == ''){
echo 'У вас нету аккаунта(';
exit;
}<input class="input1" id="imagepost" name='photo' type="file">
$text = $_POST['description'];
$path = "../imagepost/".$_FILES['photo']['name'];
if(exif_imagetype($_FILES["photo"]["tmp_name"]) === false) {
echo "Это не изображение...";
exit;
}
if(!isset($_COOKIE['user']) || empty($_COOKIE['user'])){
echo 'У вас нет учетной записи.';
exit;
}
if(move_uploaded_file($_FILES["photo"]["tmp_name"], $path)){
echo "The file ". basename( $_FILES["photo"]["name"]). " был загружен.";
} else{
echo "Извините, произошла ошибка при загрузке вашего файла.";
}
if(move_uploaded_file($_FILES["photo"]["tmp_name"], $path)){
echo "The file ". basename( $_FILES["photo"]["name"]). " был загружен.";
} else{
echo "Извините, произошла ошибка при загрузке вашего файла.";
}
$path = "../imagepost/".$_FILES['photo']['name'];так делать нельзя, путь надо писать абсолютный.if($_COOKIE['user'] == ''){
echo 'У вас нету аккаунта(';
exit;
}Проверка куки на логин это даже не смешно. Я сам у себя могу установить любые куки, и все, я уже залогинен, нормально?
А он должен был добавить move_uploaded_file()?Как вариант, можно использовать и просто копирование или перенос файла.
Ведь без этого сервак не сможет вытащить временный файл из tmp и перенести в указанную директорию?Без этого файл во временной папке будет стерт после завершения работы скрипта, остальное нюансы реализации.
Зачем нужен относительный путь в PHP, если сервак с ним не работает?Во первых, иногда нужны относительные пути, например небольшие скрипты могут работать с папками относительно себя, но по уму нужно для них хотя бы использовать realpath(), а во вторых так работает интерфейс работы с фс, он понимает как относительные так и абсолютные пути. Беда в том что новички чаще всего не понимают как это работает и пишут фигню, по этому лучший совет - при работе с файлами использовать абсолютные пути, это гарантирует правильную работу.
разве есть другие способы переноса файла на сервак?Не на сервак, а в рабочий каталог. И да, любые функции работы с файлами будут работать с временным файлом, copy, unlink, rename... Единственным отличием move_uploaded_file() от других - она проверяет и работает только с файлами созданными этим же потоком выполнения, то есть проверяет что файл был загружен текущим скриптом.
А что такое фс?файловая система