Загрузка изображений в определенную папку на сервере

KorP

Новичок
ёпт
а написать лишнюю строку кода ты боишься что ли? или ты не знаешь что функциям аргументы передавать можно? я по человечески сказал ещё в самом начале, не понял - иди читай книжку или хотя бы ман, что такое функции и как с ними работать
 

Panayka

Новичок
Короче, я изменил саму форму добавления фотографий:
PHP:
<form action="../models/Gallery_Files_Model.php" method="post" name="new_gallery">
  <label>Название новой папки:</label> <input type="text" name="folder_name" size="30" /> <label>Выбрать фотографии:</label> <input type="file" name="load_photo" /><br /> <input type="submit" name="create_gallery" value="Создать фотогалерю" />
</form>
Теперь стало и создание папки и добавление фото в одной форме, т.е. теперь сначала пишу название новой папки, а потом сразу же добавляю фотографии..

PHP выглядит так:
PHP:
public function CreateGallery($translit) {
        $translit = $this->Translite($_POST['folder_name']);
        $pathname = "../views/gallery/$translit";
        if (mkdir($pathname, 0777) == true) {
            $this->InsertDbFolders();
            return $translit;
           
            $load_photo = $_FILES["load_photo"]["tmp_name"];
            $load_photo_name = $_FILES["load_photo"]["name"];
            $load_photo_size = $_FILES["load_photo"]["size"];
            $load_photo_type = $_FILES["load_photo"]["type"];
            $error_flag = $_FILES["load_photo"]["error"];
 
            if ($error_flag == 0) {
 
                if ($load_photo_size < upload_max_filesize) {
                    die('Размер файла больше 8МБ!');
                }
                copy($load_photo, "../views/gallery/$translit/$load_photo_name");
            }
           
        } else
            echo "<p>Ошибка! Возможно такая папка уже существует, либо вы используете запрещенные символы в названии.</p>";
    }
Все равно изображения не добавляет... пусто вообще. Я что то не так делаю?
 

KorP

Новичок
1. CreateGallery($translit)
2. return $translit;
можешь это обосновать - зачем?

copy - имхо лучше юзать move_uploaded_file

die - не стоит

ну а что б понять почему не работает, надо ещё вот тут почитать
 

Panayka

Новичок
я сначала думал, что имя созданного файла.. видимо это не так.
возвращаю затем, чтобы потом к нему обратиться.. наверное..
 

Panayka

Новичок
Notice: Undefined index: load_photo in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 45

Notice: Undefined index: load_photo in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 46

Notice: Undefined index: load_photo in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 47

Notice: Undefined index: load_photo in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 48

Notice: Undefined index: load_photo in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 49

Notice: Use of undefined constant upload_max_filesize - assumed 'upload_max_filesize' in C:\www\localhost\htdocs\177\models\Gallery_Files_Model.php on line 53
такие ошибки выдаются.. только я понять не могу, почему load_photo неопределенный?
PHP:
$load_photo = $_FILES["load_photo"]["tmp_name"];


$load_photo_name = $_FILES["load_photo"]["name"];
$load_photo_size = $_FILES["load_photo"]["size"];
$load_photo_type = $_FILES["load_photo"]["type"];
$error_flag = $_FILES["load_photo"]["error"];
указывает на эти строки кода..

Так выглядит phpinfo(32). То есть какие переменные были переданы:
Безымянный.jpg
 

KorP

Новичок
я сначала думал, что имя созданного файла.. видимо это не так.
возвращаю затем, чтобы потом к нему обратиться.. наверное..
ты не понимаешь что делает твой скрипт и где какая функция что делает и зачем нужна - ты ждёшь помощи?

ну так ты проверь что у тебя в $_FILES, нафига мне твой phpinfo? у меня свой есть :)
 

cDLEON

Онанист РНРСlub
<form action="../models/Gallery_Files_Model.php" method="post" name="new_gallery" enctype="multipart/form-data">


Кроме того - не проверяется факт того, что загруженный файл - действительно фотография. И имеет правильное расширение. Это очень огромная дырка, через которую можно залить шелл.

Ссылки по теме:
http://php.net/isset
http://phpfaq.ru/
Пс. Кстати, не хватает на phpfaq.ru загрузки изображений... С потенциальными граблями ...))
 

Gibiskus

Новичок
и еще важно про размеры изображения, - когда на сервере 1 картинка в 3-4х экземплярах, в нужных размерах.
 
Сверху