Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
Кlаvа
0 / 0 / 0
Регистрация: 17.04.2011
Сообщений: 8
#1

Проблемы с загрузкой файла - PHP

29.10.2011, 17:05. Просмотров 526. Ответов 0
Метки нет (Все метки)

Здравствуйте, накопилось очень много вопросов.
Есть код для загрузки фотографий, вроде и загружает и выводит, но не совсем все понятно, хочу досконально во всем разобраться.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 <?php include 'blocks/db.php';
 $sql = "SELECT `id`, `adress`, `date`,`small` FROM gorod  ORDER BY id DESC"; 
 $result = mysql_query($sql) or die(mysql_error());
 $time=date("Y:m:d");
 $uploaddir = 'uploads/';
 $uploadfile = $uploaddir.basename($_FILES['userfile']['name']);
 $pic =($_FILES['userfile']['name']);
 
 if(
     isset($_POST['time']) && !empty($_POST['time'])){
 #Фильтруем полученные данные
         $time = stripslashes(trim(htmlspecialchars($_POST['time'],ENT_QUOTES)));
    
             $sql = "
                     INSERT INTO
                             gorod (adress, date)
                     VALUES
                             ('$pic', '$time')";
                     mysql_query($sql);
 #редирект при успешном занесении
                 header("Location:{$_SERVER['PHP_SELF']}");
 }
    
 ?>
HTML5
1
2
3
4
5
<form enctype="multipart/form-data" action="gorod.php" method="POST">
     Выбрать файл: <input name="userfile" type="file" />
     <input type="submit" value="Загрузить файл" />
     <input type="hidden" name="time" value= "<?php echo $time; ?>" />
 </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
 echo '<pre>';
 if($_FILES["userfile"]["size"] > 1024*3*1024) {
     echo ("Размер файла превышает три мегабайта");
     exit;
 }
 if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
     echo "Файл корректен и был успешно загружен.\n";
 } else {
     echo "Возможная атака с помощью файловой загрузки!\n";
 }
 
 echo 'Инфа о загруженном файле:';
 print_r($_FILES);
 
 print "</pre>";
 
 $row = mysql_fetch_assoc ($result);
         echo  '<img src="'.$uploaddir.$row['adress'].'" />';   
        
 ?>
Почему, если убрать строку
PHP
1
2
3
4
<?php
 #редирект при успешном занесении
                 header("Location:{$_SERVER['PHP_SELF']}");
 ?>
то print_r($_FILES); выводит информацию по загруженному фалу, но страницу нужно перезагружать (т.есть нажимаешь на кнопку "Загрузить файл", страница обновляется, но появляется фотка, которая была загружено до этого), а если header оставить, то появляется сообщение : "Возможная атака с помощью файловой загрузки!" и выводит пустой массив по загруженному файлу.
2. Есть $time, писала так:
$pic =$time.($_FILES['userfile']['name']);
в базу заносилось дата и имя файла, но в файл фотка загружается без даты, получается несоответствие имен в базе и в файле. Пыталась прицепить $time к $uploadfile, тогда совсем все плохо, вообще ничего не загружается.
3. Как загрузить сразу две картинки в одну папку, одна-исходный размер, другая к примеру 200 пикс.
есть код (слямзила с нета :oops: ), но не пойму, что именно (какую переменную) нужно ресайзить , загружается всего одна фотка маленького размера, да еще и ругается (((.
Warning: getimagesize(uploads/) [function.getimagesize]: failed to open stream: No such file or directory in W:\home\localhost\www\cat.loc\gorod.php on line 72

Warning: imagepng(): supplied argument is not a valid Image resource in W:\home\localhost\www\cat.loc\gorod.php on line 105
Помогите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2011, 17:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с загрузкой файла (PHP):

Проблемы с загрузкой файлов на сервер. - PHP
Немогу загрузить файл на сервер. Помогите. Вот скрипт и ошибка: copy($_FILES,$loc); Warning: copy() : Filename cannot be empty...

Проверка расширения файла перед загрузкой - PHP
что я делаю не так? выводит 2 ветку, даже если выбираю файлы формата txt &lt;?php if(isset($_POST)){ if($_FILES == 0){ ...

Загрузкой файла на сервер и вывести ссылку на них в бд - PHP
Доброго времени суток! Помогите, пожалуйста, загрузить несколько файлы на сервер и сделать ссылку в бд mysql. Собственно код на php ...

Очень странная ситуация с загрузкой файла на сервер! - PHP
такая ситуация, сделал форму загрузки файла: &lt;form action=&quot;upload_file.php&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot;&gt; &lt;input...

проблемы с загрузкой файлов - PHP
&lt;?php if($_REQUEST){ $target_path = &quot;uploads/&quot;; $target_path = $target_path . basename( $_FILES); ...

Помогите с загрузкой файла - PHP
Надо сделать такую штуку: при добавление новостей прикреплять картинку с компа публикатора и закачивать её в указанную директорию на...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 17:05
Привет! Вот еще темы с ответами:

Форма заказа с загрузкой файла и отправкой на электронную почту - PHP
Подскажите как сделать в коде что-бы прикрепляли файл и отправлялся на почту? Все остальное у меня работает, а вот с файлами не как не...

загрузкой изображений на сайт - PHP
Помогите, пожалуйста, чайнику) я никогда с php не работала, но очень сейчас нужно вставить загрузку фото на сайт, причем так, чтобы фотка...

Проблема с загрузкой файлов на сервер - PHP
День добрый, в очередной раз с повпросом... Такой кусок кода: if($_FILES!=''){ $up_f='/avto/'.$_FILES; copy($_FILES,$up_f); ...

Несостыковка с многопоточной загрузкой файлов - PHP
Что надо изменить в этом скрипте, чтобы можно было нажать на форме &lt;Выбрать файл&gt; и сразу выделить мышкой несколько файлов?А то сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru