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

upload

08.08.2011, 14:45. Показов 3169. Ответов 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
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 14:52
и файле upload после этого
if ($archive->extract() == 0)
{
die("Error : ".$archive->errorInfo(true));
}
} else {
echo("Ошибка загрузки файла");
}

циклом пройтись по полученным файлам и записать их в бд
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 14:58  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
и файле upload после этого
if ($archive->extract() == 0)
{
die("Error : ".$archive->errorInfo(true));
}
} else {
echo("Ошибка загрузки файла");
}

циклом пройтись по полученным файлам и записать их в бд
а таком способом моюна?
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
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'], ".")); 
      }
// Извлекаем из имени файла расширение
      $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);
      }
    }
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:01
этим кодом ты просто переименуешь архив. А список фалов в нем как ты получишь?
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 15:05  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
этим кодом ты просто переименуешь архив. А список фалов в нем как ты получишь?
a можеш тогда немного подскзать?)
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:07
вот почитай
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 15:14  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
ты имел ввиду вот это
PCLZIP_OPT_EXTRACT_IN_OUTPUT
Этот аргумент дает вам возможность извлечь файл непосредственно на устройство вывода, подобно команде echo.
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:23
Все прочти там есть функция получения списка файлов

вернее $archive->extract() возвращает список файлов если все прошло успешно.
то есть
PHP
1
2
3
4
5
6
7
$dats=$archive->extract();
if ($dats == 0)
{
die("Error : ".$archive->errorInfo(true));
} else {
print_r($dats);
}
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 15:29  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
Все прочти там есть функция получения списка файлов
мне получается файл 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
24
25
26
27
28
29
30
31
32
<?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("Ошибка загрузки файла");
   }
 
$archive = new PclZip('foto.zip');
    $list = $archive->extract(PCLZIP_OPT_BY_NAME, "data/readme.txt",
                              PCLZIP_OPT_EXTRACT_AS_STRING);
    if ($list == 0) {
      echo "ERROR : ".$archive->errorInfo(true);
      exit;
    }
    echo $list[0]['content'];
?>
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:33
сделай print_r($list);

и увидишь нужную тебе часть массива
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 15:37  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
сделай print_r($list);

и увидишь нужную тебе часть массива
tak
PHP
1
2
3
4
5
6
7
8
$archive = new PclZip('foto.zip');
    $list = $archive->extract(PCLZIP_OPT_BY_NAME, "data/readme.txt",
                              PCLZIP_OPT_EXTRACT_AS_STRING);
    print_r($list) {
      echo "ERROR : ".$archive->errorInfo(true);
      exit;
    }
    echo $list[0]['content'];
только вопрос что делать с этим

extract(PCLZIP_OPT_BY_NAME, "data/readme.txt",
PCLZIP_OPT_EXTRACT_AS_STRING);
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:41
PCLZIP_OPT_BY_NAME - Позволяет извлекать файлы из архива указывая их полное название.
PCLZIP_OPT_EXTRACT_AS_STRING - Позволяет извлечь файл в строковую переменную а не в файл.

Это так и оставляешь.


PHP
1
2
3
4
5
6
7
8
9
$archive = new PclZip('foto.zip');
    $list = $archive->extract(PCLZIP_OPT_BY_NAME, "имя папки куда извлекается",
                              PCLZIP_OPT_EXTRACT_AS_STRING);
if ($list == 0) {
      echo "ERROR : ".$archive->errorInfo(true);
      exit;
    } else {
    print_r($list);
}
Вот так
1
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 15:54  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
PCLZIP_OPT_BY_NAME - Позволяет извлекать файлы из архива указывая их полное название.
PCLZIP_OPT_EXTRACT_AS_STRING - Позволяет извлечь файл в строковую переменную а не в файл.

Это так и оставляешь.


PHP
1
2
3
4
5
6
7
8
9
$archive = new PclZip('foto.zip');
    $list = $archive->extract(PCLZIP_OPT_BY_NAME, "имя папки куда извлекается",
                              PCLZIP_OPT_EXTRACT_AS_STRING);
if ($list == 0) {
      echo "ERROR : ".$archive->errorInfo(true);
      exit;
    } else {
    print_r($list);
}
Вот так
спасибо сейчас попробую

Добавлено через 8 минут
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
PCLZIP_OPT_BY_NAME - Позволяет извлекать файлы из архива указывая их полное название.
PCLZIP_OPT_EXTRACT_AS_STRING - Позволяет извлечь файл в строковую переменную а не в файл.

Это так и оставляешь.


PHP
1
2
3
4
5
6
7
8
9
$archive = new PclZip('foto.zip');
    $list = $archive->extract(PCLZIP_OPT_BY_NAME, "имя папки куда извлекается",
                              PCLZIP_OPT_EXTRACT_AS_STRING);
if ($list == 0) {
      echo "ERROR : ".$archive->errorInfo(true);
      exit;
    } else {
    print_r($list);
}
Вот так
подожди так они же в бд не записуваются?
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 15:58
напиши что вывел а дальше я подскажу как их записать
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 16:06  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
напиши что вывел а дальше я подскажу как их записать
написать цто вывел upload? или что?

Добавлено через 3 минуты
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
напиши что вывел а дальше я подскажу как их записать
мне проста upload выдал вот что

ERROR : PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'foto.zip'
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 16:06
после извлечения что у тебя должна появится надпись array(нужно что тут)
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 16:20  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
после извлечения что у тебя должна появится надпись array(нужно что тут)
появлялся проста пустой экран но сейчас эта ошибка, но файлы все равно извлеклись
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 16:55
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 $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) {
                    запрос в бд (insert ...$value['filename'].....); 
                    /*имя файла у тебя будет в переменной 
                    $value['filename'] -это вместе с папкой куда распаковать
                    $value['stored_filename'] - только имя файла  
                     */
                    
                };
        }
Лови
0
0 / 0 / 1
Регистрация: 12.07.2011
Сообщений: 139
08.08.2011, 17:03  [ТС]
Цитата Сообщение от TOI_I_IA Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 $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) {
                    запрос в бд (insert ...$value['filename'].....); 
                    /*имя файла у тебя будет в переменной 
                    $value['filename'] -это вместе с папкой куда распаковать
                    $value['stored_filename'] - только имя файла  
                     */
                    
                };
        }
выдает ошибку вот здесь
foreach ($list as $value) {

пишет syntax error, unexpected T_STRING
0
 Аватар для TOI_I_IA
110 / 110 / 4
Регистрация: 25.05.2009
Сообщений: 415
08.08.2011, 17:12
запрос в бд (insert ...$value['filename'].....); вместо этого напиши запрос в базу
mysq_query("INSERT INTO `ИМЯ ТАБЛИЦЫ` (`Имя поля`) values (".$value['filename'].");
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2011, 17:12
Помогаю со студенческими работами здесь

проблема 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 файл к примеру и выводить его и его можно было удалять и переименовывать.Я создал папку...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
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 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru