Автор Тема: Upload файла  (Прочитано 4995 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Upload файла
« : 11 Сентября 2003, 01:29:37 »
Почему при загрузке файла через CMS на сервер больше чем 50-70 кб. на сервер загружается непоный файл?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Upload файла
« Ответ #1 : 11 Сентября 2003, 01:32:29 »
потому что неправильно написан скрипт.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Upload файла
« Ответ #2 : 11 Сентября 2003, 01:53:29 »
 
$htm
=\'../temp/\'.$newname.\'.txt\';
if(is_uploaded_file($_FILES["html"]["tmp_name"]))
{
   if (move_uploaded_file($_FILES["html"]["tmp_name"],"$htm"))
   {
      $fp=fopen($htm, "r");
      $text=fread($fp,filesize($htm));
      $text=addslashes(trim($text));
      fclose($fp);
      if (!@unlink($htm)) {echo(\'Файл "\'.$htm.\'" не может быть удален из временной директории.".
\'."\\n");}
   }
   else {echo(\'Файл не может быть скопирован в директорию.".
\'."\\n"); $test=0;}
}


вот код, моежт поможете?
Спасибо.
« Последнее редактирование: 11 Сентября 2003, 02:57:44 от Grape »

Оффлайн rx-host.net

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rx-host.net
Upload файла
« Ответ #3 : 11 Сентября 2003, 02:04:36 »
Может там по умолчанию еще стоит загрузка не больше 70 КБ...

Я код не смотрел.
Хостинг-Компания \"RX-HOST\"
  Регистрация доменов com net info biz us org

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Upload файла
« Ответ #4 : 11 Сентября 2003, 02:09:23 »
в том то и дело, что 56 кб. пролазит, а 142 кб. нет. а ограничение - 2 мегабайта.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Upload файла
« Ответ #5 : 11 Сентября 2003, 02:11:44 »
Grape
1. оформи свой код тегами [ php ] [/ php ]
2. покажи форму.
3. покажи что выводит print_r($_FILES); для больших файлов.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Upload файла
« Ответ #6 : 11 Сентября 2003, 02:56:16 »
<form name="add" method="post" action="abupd.php" enctype="multipart/form-data">
  <
table width="60%" border="1" cellspacing="0" cellpadding="0" bordercolor="#FFCC00" bgcolor="#FFFFCC">
<?
php

echo(\'<tr><td><div align="center"><font color="#FF6600"><b>Загрузить из HTML файла</b></font></div></td></tr>\'."\\n");
echo(\'<tr><td><div align="center"><input type="file" name="html" size="30"></div></td></tr>\'."\\n");
if ($h>2)
{
   echo(\'<tr><td><div align="center"><font color="#FF6600"><b>Загрузка \');
   if (3==$h) {echo(\'фотографии\');} else {echo(\'архива\');}
   echo(\'</b></font></div></td></tr>\'."\\n");
   if (\'\'!=$content[\'dop\'.$h])
   {
       echo(\'<tr><td><div align="center">\');
       if (3==$h) {echo(\'<img src="../\'.$content[\'dop\'.$h].\'">
\');}
       else {echo(\'<input type="text" name="show" value="\'. basename($content[\'dop\'.$h]).\'" readonly>\'."\\n");}
       echo(\'<font color="#FF6600"><b>Удалить:</b></font><input type="checkbox" name="del_dop"
value="true"></div></td></tr>\'."\\n");
   }
   if (3==$h) {echo(\'<tr><td><div align="center"><input type="hidden" name="old_dop" value="\'.$content[\'dop\'.$h].\'">\');}
   else {echo(\'<tr><td><input type="hidden" name="old_dop" value="\'.$content[\'dop\'.$h].\'" readonly><div
align="center"><input type="hidden" name="old_mod" value="\'.$content[\'mod\'.$h].\'"><input type="hidden" name="old_size"
value="\'.$content[\'size\'.$h].\'">\');}
   echo(\'<input type="file" name="dop" size="30"></div></td></tr>\');
}
echo(\'<input type="hidden" name="s" value="\'.$s.\'">\'."\\n");
echo(\'<input type="hidden" name="h" value="\'.$h.\'">\'."\\n");
?>
  <tr>
    <td>
      <div align="center">
        <input type="submit" name="submit" value="изменить">
      </div>
    </td>
  </tr>
</table>
</form>



Оффлайн Grape

  • Grappa grande
  • Ветеран
  • *****
  • Сообщений: 758
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.grape.com.ua
Upload файла
« Ответ #7 : 11 Сентября 2003, 02:57:07 »
print_r(\'name=\'.$_FILES[\'html\'][\'name\'])
print_r(\'type=\'.$_FILES[\'html\'][\'type\'])
print_r(\'size=\'.$_FILES[\'html\'][\'size\'])
print_r(\'tmp_name=\'.$_FILES[\'html\'][\'tmp_name\'])


name=sp.rar
type
=application/octet-stream
size
=184021
tmp_name
=/tmp/php1Jd34W




Спасибо.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Upload файла
« Ответ #8 : 11 Сентября 2003, 03:31:53 »
я написал чтобы ты показал именно print_r($_FILES);
В массиве $_FILES в одном из полей (error кажется) php пишет почему не был закачн файл.
Судя по твоему результату у тебя файл закачивается
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Upload файла
« Ответ #9 : 11 Сентября 2003, 11:28:55 »
а где тут MAX_FILE_SIZE ?

Оффлайн Zpt

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Upload файла
« Ответ #10 : 13 Сентября 2003, 23:01:47 »
А MAX_FILE_SIZE используется только для указания на максимальный размер файла,чтобы даже и не пытаться загружать его на сервер, если он больше или я ошибаюсь?

Вобщем проблема была в базе данных :)

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

for($i=0; $i<=10; $i++)
{
   $a="variable$i";
   $type=$$a_type
}

или

for($i=0; $i<=10; $i++)
{
   $a="variable$i";
   $type=$_FILES[$$a]["type"];
}

Ни один, ни другой случай не пашет, в чем может быть причина (без переменной переменной работает)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Upload файла
« Ответ #11 : 14 Сентября 2003, 10:58:39 »
ты ошибаешься.

а для перебора массива files недо пользоваться не этим уродством, а foreach

Оффлайн Zpt

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Upload файла
« Ответ #12 : 15 Сентября 2003, 12:21:29 »
Спасибо огромное, разобрался, сделал через цикл с параметром, а что ты имел ввиду насчет for each, сожешь привести маленький примерчик?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Upload файла
« Ответ #13 : 15 Сентября 2003, 12:22:27 »
все примерчики - в мануале

 

Sitemap 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