Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139

upload

08.08.2011, 14:45. Показов 3173. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть файл форму
HTML5
1
2
3
4
5
6
<h2><p><b> Форма для загрузки файлов </b></p></h2>
      <form action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br> 
      <input type="submit" value="Загрузить"><br>
      </form>
</body>
и файл upload
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
   if($_FILES["filename"]["size"] > 1024*3*1024)
   {
     echo ("Размер файла превышает три мегабайта");
     exit;
   }
   // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {
     // Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/users1/p/pmdcfrunz/domains/sitename.ru/zagruzka/upload/".$_FILES["filename"]["name"]);
 
require_once('upload/pclzip.lib.php');
$archive = new PclZip('upload/foto.zip');
if ($archive->extract() == 0)
{
die("Error : ".$archive->errorInfo(true));
}
   } else {
      echo("Ошибка загрузки файла");
   }
?>
a так же в папке upload есть файлы
pclzip.lib.php и extract_archive.php
PHP
1
2
3
4
5
6
7
<?PHP
require_once('pclzip.lib.php');
$archive = new PclZip('foto.zip');
if ($archive->extract() == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>
ВОПРОС ВОТ В ЧЕМ
если мне надо что бы загруженный архив распаковывался и паспаковонные фото записывались в бд где мне это надо прописать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2011, 14:45
Ответы с готовыми решениями:

Подскажите с upload ...
Доброго времени суток всем. Прошу помощи с upload . Есть файл upload.php &lt;?php $url = &quot;files&quot;; // 1)Проверяем, существует...

EasyPHP Mysql image upload
Привет. Хочу закачать фаил картинки в базу данных MySQL в EasyPHP, создаю в HTML обьект &quot;&lt;input name=\&quot;userfile\&quot;...

upload файлов на сервер
Доброго всем времени суток! Имеется хостинг со следующими установками: 1. System Linux plesk2.datacenter.by 2.6.18-128.1.16.el5PAE #1...

29
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:20  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
запрос в бд (insert ...$value['filename'].....); вместо этого напиши запрос в базу
mysq_query("INSERT INTO `ИМЯ ТАБЛИЦЫ` (`Имя поля`) values (".$value['filename'].");

спасибо огромное тебе за все))))
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 17:23
Не за что
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:33  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Не за что
помимо это ва еще же надо файл config подключить ведь так?
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 17:37
я думал он уже подключен.
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:40  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Не за что

блин опять ошыбка
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
в строке 40
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<html>
<head>
  <title>Результат загрузки файла</title>
</head>
<body>
<?php
   require 'inc/connect.php'; 
 
 
   if($_FILES["filename"]["size"] > 1024*3*1024)
   {
     echo ("Размер файла превышает три мегабайта");
     exit;
   }
   // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {
     // Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/users1/p/pmdcfrunz/domains/site.ru/zagruzka/upload/".$_FILES["filename"]["name"]);
 
require_once('upload/pclzip.lib.php');
$archive = new PclZip('upload/foto.zip');
if ($archive->extract() == 0)
{
die("Error : ".$archive->errorInfo(true));
}
   } else {
      echo("Ошибка загрузки файла");
   }
$archive = new PclZip('foto.zip');
        $list = $archive->extract(PCLZIP_OPT_PATH, 'data');
        if ($list == 0) {
            echo "ERROR : ".$archive->errorInfo(true);
            exit;
            } else 
 
                foreach ($list as $value) {
                    mysq_query("INSERT INTO `news` (`foto`) values (".$value['filename'].");
                    $value['filename'] -это вместе с папкой куда распаковать
                    $value['stored_filename'] - только имя файла  
                     */
                    
                };
        } 
?>
</body>
</html>
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 17:41
/* $value['filename'] -это вместе с папкой куда распаковать
$value['stored_filename'] - только имя файла */
так сделай
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:46  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
/* $value['filename'] -это вместе с папкой куда распаковать
$value['stored_filename'] - только имя файла */
так сделай
выдает
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in строке40
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 17:47
mysq_query("INSERT INTO `news` (`foto`) values (".$value['filename'].")");
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:57  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
mysq_query("INSERT INTO `news` (`foto`) values (".$value['filename'].")");
извени еще побеспокою
ести файл добавления новостей

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
  
  Error_Reporting(E_ALL & ~E_NOTICE); 
 
  // Устнавливаем соединение с базой данных
  include "../config.php";
 
  // Проверим - достаточно ли информации для занесения в базу данных
  if(empty($_POST['name'])) links("Отсутствует заголовок");
  if(empty($_POST['body'])) links("Содержание не введено");
  if(empty($_POST['url_text']) && !empty($_POST['url'])) $_POST['url_text'] = $_POST['url'];
  // Определяем, скрыта новоть или нет
  if($_POST['hide'] == "on") $showhide = "show";
  else $showhide = "hide";
  // Добавляем протокол в url, если пользователь забыл это сделать сам
  $_POST['url'] = strtr($_POST['url'], "HTTP", "http");
  if (!empty($_POST['url'])) { 
    if (strtolower((substr($_POST['url'], 0, 7))!="http://") && (strtolower(substr($_POST['url'], 0, 7))!="ftp://")) $url="http://".$_POST['url'];
  } 
  // Проверяем время
  if(!preg_match("|^[\d]+$|",$_POST['date_year'])) puterror("Ошибка при обращении к блоку новостей");
  if(!preg_match("|^[\d]+$|",$_POST['date_month'])) puterror("Ошибка при обращении к блоку новостей");
  if(!preg_match("|^[\d]+$|",$_POST['date_day'])) puterror("Ошибка при обращении к блоку новостей");
  if(!preg_match("|^[\d]+$|",$_POST['date_hour'])) puterror("Ошибка при обращении к блоку новостей");
  if(!preg_match("|^[\d]+$|",$_POST['date_minute'])) puterror("Ошибка при обращении к блоку новостей");
 
  // Заменяем одинарные кавычки обратными, чтобы избежать конфликта
  // при добавлении информации в таблицу
  if (!get_magic_quotes_gpc())
  {
    $_POST['name'] = mysql_escape_string($_POST['name']);
    $_POST['body'] = mysql_escape_string($_POST['body']);
  }
 
  // Если поле выбора картинки не пустое - закачиваем её на сервер
  $path = "";
  // Если требуется загрузить файл - загружаем
  if($_POST['chk_filename'] == "on")
  {
    if (!empty($_FILES['filename']['tmp_name']))
    {
      // Формируем путь к файлу    
      $path = "../files/".date("YmdHis",time());
      // Если оператор пожелал переименовать файл - переименовываем 
      if($_POST['chk_rename'] == "on")
      {
        // Проверяем, чтобы не было прямых и обратных слешей
        $_POST['rename'] = str_replace("\\","",$_POST['rename']);
        $_POST['rename'] = str_replace("/","",$_POST['rename']);
        $_POST['rename'] = stripcslashes($_POST['rename']);
        $path = "files/".substr($_POST['rename'], 0, strrpos($_POST['rename'], ".")); 
      }
      
      // Проверяем, не является ли файл скриптом PHP или Perl, html, если это так преобразуем его в формат .txt
      $extentions = array("#\.php#is",
                          "#\.phtml#is",
                          "#\.php3#is",
                          "#\.html#is",
                          "#\.htm#is",
                          "#\.hta#is",
                          "#\.pl#is",
                          "#\.xml#is",
                          "#\.inc#is",
                          "#\.shtml#is", 
                          "#\.xht#is", 
                          "#\.xhtml#is");
      // Извлекаем из имени файла расширение
      $ext = strrchr($_FILES['filename']['name'], "."); 
      $add = $ext;
      foreach($extentions AS $exten) 
      {
        if(preg_match($exten, $ext)) $add = ".txt"; 
      }
      $path .= $add; 
  
      // Перемещаем файл из временной директории сервера в
      // директорию /files Web-приложения
      if (copy($_FILES['filename']['tmp_name'], "../".$path))
      {
        // Уничтожаем файл во временной директории
        @unlink($_FILES['filename']['tmp_name']);
        // Изменяем права доступа к файлу
        @chmod("../".$path, 0644);
      }
    }
    else links("Не указан файл для загрузки");
  } 
 
  // Формируем и выполняем SQL-запрос на добавление новости
  $query = "INSERT INTO news_dm VALUES (0,
                                     '".$_POST['name']."',
                                     '".$_POST['body']."',
                                     '".$_POST['date_year']."-".$_POST['date_month']."-".$_POST['date_day']." ".sprintf("%02d",$_POST['date_hour']).":".sprintf("%02d",$_POST['date_minute']).":00',
                                     '".$_POST['url']."',
                                     '".$_POST['url_text']."',
                                     '$path',
                                     '$showhide');";
  if(mysql_query($query)) header("Location: dm.php?page=".$_GET['page']);
  else links("Ошибка при добавлении новостной позиции");
 
  // Вспомогательная функция для вывода ссылок возврата
  function links($msg)
  {
    echo "<p>".$msg."</p>";
    echo "<p><a href=# onClick='history.back()'>Вернуться к правке новостей</a></p>";
    echo "<p><a href=index.php>Администрирование новостей</a></p>";
    exit();
  }
?>
пробою прекрепить к нему форму загрузки фото которую ты мне разобрал и что то не идет
потому что наверное она через upload обрабатывается?
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
31.08.2011, 00:30  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
напиши что вывел а дальше я подскажу как их записать
помоги еще немного
вот я добавляю архив
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Если поле выбора картинки не пустое - закачиваем её на сервер
  $path = "";
  // Если требуется загрузить файл - загружаем
  if($_POST['chk_filename'] == "on")
  {
    if (!empty($_FILES['filename']['tmp_name']))
    {
      // Формируем путь к файлу    
      $path = "../files/".date("YmdHis",time());
      // Если оператор пожелал переименовать файл - переименовываем 
      if($_POST['chk_rename'] == "on")
      {
        // Проверяем, чтобы не было прямых и обратных слешей
        $_POST['rename'] = str_replace("\\","",$_POST['rename']);
        $_POST['rename'] = str_replace("/","",$_POST['rename']);
        $_POST['rename'] = stripcslashes($_POST['rename']);
        $path = "files/".substr($_POST['rename'], 0, strrpos($_POST['rename'], ".")); 
      }
      
      // Проверяем, не является ли файл скриптом PHP или Perl, html, если это так преобразуем его в формат .txt
      $extentions = array("#\.php#is",
                          "#\.phtml#is",
                          "#\.php3#is",
                          "#\.html#is",
                          "#\.htm#is",
                          "#\.hta#is",
                          "#\.pl#is",
                          "#\.xml#is",
                          "#\.inc#is",
                          "#\.shtml#is", 
                          "#\.xht#is", 
                          "#\.xhtml#is");
      // Извлекаем из имени файла расширение
      $ext = strrchr($_FILES['filename']['name'], "."); 
      $add = $ext;
      foreach($extentions AS $exten) 
      {
        if(preg_match($exten, $ext)) $add = ".txt"; 
      }
      $path .= $add; 
  
      // Перемещаем файл из временной директории сервера в
      // директорию /files Web-приложения
      if (copy($_FILES['filename']['tmp_name'], "../".$path))
      {
        // Уничтожаем файл во временной директории
        @unlink($_FILES['filename']['tmp_name']);
        // Изменяем права доступа к файлу
        @chmod("../".$path, 0644);
      }
    }
    else links("Не указан файл для загрузки");
  }
и у меня в бд прописывается путь к архиву
подскажи плиз как сделать так чтоб он его распокавал пробовал как ту написал выдает ошибку

Добавлено через 7 часов 45 минут
все спасибо всем разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2011, 00:30
Помогаю со студенческими работами здесь

проблема PHP upload image
проверте пожалуста здес всо провилна &lt;?php mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;) or die...

Mini Upload не работает загрузка
Скачал простенький скрипт файлообменника. Хранилище чисто для себя, поэтому особо не ухищрялся. Залил как сказано по инструкции, файлы...

UPLOAD
Интересует есть для ворд пресса скрипт или примочки чтобы сделать из него файло обменник ... думаю сделать UPLOAD для обменна прошивками .

Рвется Upload
Такая проблема. Если постить файл просто через web-форму - то все ок. Файл загружается, скрипты его отрабатывают. Но если грузить через...

Php upload
Где ошибка в коде.Суть его он должен загружать txt файл к примеру и выводить его и его можно было удалять и переименовывать.Я создал папку...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru