Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сделать что бы этот скрипт делал upload файлов большого размера
 
 автор: cccp   (08.01.2006 в 22:58)   письмо автору
 
 

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

Зарание Благодарен!


<?php

$dossier_cible 
"../music";

if(isset(
$_FILES['f'])&&isset($_POST['d']))
{
 if(
file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du m&#234;me nom existe d&#233;j&#224; !</h1></body></html>");

 if(!
move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename($_FILES['f']['name']))) die("Echec ! V&#233;rifiez les persmissions du dossier $dossier_cible !");
 
$d substr($_POST['d'],0,60); $fp fopen("$dossier_cible/d/".basename($_FILES['f']['name']),"w");
 
fwrite($fp,$d);fclose($fp);
}

?>
<html>

<head>
 <title>Envoi de fichier</title>
</head>

<body>

<h1>Envoi de fichier</h1>

<h2>Liste des fichiers dans <?=$dossier_cible?></h2><br />
<table align="center" width="80%" cellspacing="0" cellpadding="2" bgcolor="#EFEFEF">
<tr style="background:#7F7F7F;"><td width="35%"> &nbsp; Nom du fichier</td><td> &nbsp; Description</td></tr>
<?php

$d 
opendir($dossier_cible); readdir($d); readdir($d);

while(
$f readdir($d))
{
 if(
$f == ".htaccess" || $f=="d") continue;

 
$desc implode('',file("$dossier_cible/d/$f"));
?>
<tr><td><?=htmlentities($f)?></td><td><?=htmlentities($desc)?></td></tr>
<? ?>
</table>

<br /><hr /><br />
<h2>Envoi d'un nouveau fichier</h2>

<form method="post" action="upload_music.php" enctype="multipart/form-data">
<i>Fichier &#224; envoyer :</i><br />
 <input type="file" name="f" size="60" />
<br /><br /> 
<i>Description :</i><br />
 <input type="text" name="d" size="40" maxlength="60" />
<br /><br />
 <input type="submit" value="Envoyer !" />

</form>
</body>

</html>

   
 
 автор: cheops   (09.01.2006 в 00:46)   письмо автору
 
   для: cccp   (08.01.2006 в 22:58)
 

А большой размер - это сколько? И каково значение директивы upload_max_filesize в конфигурационном файле php.ini?

   
 
 автор: cccp   (09.01.2006 в 01:20)   письмо автору
 
   для: cheops   (09.01.2006 в 00:46)
 

Ничего больше кроме этого файле я не имею.
Большой размер это типа для аудио файлов .mp3

   
 
 автор: cheops   (09.01.2006 в 02:48)   письмо автору
 
   для: cccp   (09.01.2006 в 01:20)
 

А в мегабайтах то сколько? :)))

   
 
 автор: JIEXA   (09.01.2006 в 04:07)   письмо автору
 
   для: cheops   (09.01.2006 в 02:48)
 

обычно 5-8Мб весит mp3'шка

   
 
 автор: cccp   (09.01.2006 в 12:20)   письмо автору
 
   для: JIEXA   (09.01.2006 в 04:07)
 

Ну да.
В принципе около 10-20 МБ на всякий случай, не больше.

   
 
 автор: romza   (09.01.2006 в 12:22)   письмо автору
 
   для: cccp   (09.01.2006 в 12:20)
 

А сколько по времени обрабатывается скирп??? Мож у вас лемит стоит 30 сек и вы не вписываетесь???

   
 
 автор: cccp   (09.01.2006 в 12:46)   письмо автору
 
   для: romza   (09.01.2006 в 12:22)
 

А что, поидеи если ничеги не написано в скрипте, то он должен закачивать файлы любой велечины, да?

   
 
 автор: cheops   (09.01.2006 в 12:47)   письмо автору
 
   для: romza   (09.01.2006 в 12:22)
 

Сейчас время загрузки файла, время работы базы данных не входит во время работы скрипта...

   
 
 автор: romza   (09.01.2006 в 12:52)   письмо автору
 
   для: cheops   (09.01.2006 в 12:47)
 

>Сейчас время загрузки файла, время работы базы данных не
>входит во время работы скрипта...

Спасибо огромное, не знал...

   
 
 автор: cheops   (09.01.2006 в 12:46)   письмо автору
 
   для: cccp   (09.01.2006 в 12:20)
 

>В принципе около 10-20 МБ на всякий случай, не больше.
А каково значение директив
1) upload_max_filesize
2) post_max_size

   
 
 автор: cccp   (09.01.2006 в 12:57)   письмо автору
 
   для: cheops   (09.01.2006 в 12:46)
 

Я не совсем понял cheops.

   
 
 автор: romza   (09.01.2006 в 13:37)   письмо автору
 
   для: cccp   (09.01.2006 в 12:57)
 

посмотри что у тебя написано напротив этих параметров в конфигурационном файле PHP - php.ini

   
 
 автор: cccp   (09.01.2006 в 13:51)   письмо автору
 
   для: romza   (09.01.2006 в 13:37)
 

Дело в том что у меня нету никакого файла с параметрами.
Всё в этом скрипте upload_music.php (что я указал на верху) и формуляр делает action="upload_music.php", тоесть направляет в этот же скрипт.

   
 
 автор: romza   (09.01.2006 в 14:02)   письмо автору
 
   для: cccp   (09.01.2006 в 13:51)
 

Ты же скрипт на сервере отлаживаешь... на котором у тя установлен PHP... вот там и глянь... а если доступа нет, то напиши в адресной строке что то типа www.domen.ru/php.php и глянь там... если конечно у вас так можно посмотреть настройки... или письмо админу...

   
 
 автор: cccp   (09.01.2006 в 15:42)   письмо автору
 
   для: romza   (09.01.2006 в 14:02)
 

Ааа, ок!
Понял!

Тогда вот:
upload_max_filesize : 2М

post_max_size : 3М

   
 
 автор: romza   (09.01.2006 в 15:56)   письмо автору
 
   для: cccp   (09.01.2006 в 15:42)
 

ну а тя какого размера файл???

   
 
 автор: cccp   (09.01.2006 в 16:03)   письмо автору
 
   для: romza   (09.01.2006 в 15:56)
 

Ты имееш в виду размер файла что я хочу перенести на сервер с помощью этого скрипта?

Если ты про это, то незнаю точно.
Но не должен быть большим, так-как я его сам с интернета скачал.

ПС: На сколько я понял то в любом случе я не смогу сделать upload файла больше 2М, да?
Видемо в это и вся загвоздка, да?

   
 
 автор: romza   (09.01.2006 в 16:22)   письмо автору
 
   для: cccp   (09.01.2006 в 16:03)
 

upload_max_filesize - максимальный размер загруженных файлов;

post_max_size - максимально возможный размер данных, переданных методом POST;

проверь.. ты вписываешься в эти рамки???

   
 
 автор: cccp   (09.01.2006 в 16:38)   письмо автору
 
   для: romza   (09.01.2006 в 16:22)
 

ОК.
Я посмотрю какого размера файл.
Ну а иначе ничего не поделать, да? Надо отталкиваться от этого, да?

   
 
 автор: romza   (09.01.2006 в 16:43)   письмо автору
 
   для: cccp   (09.01.2006 в 16:38)
 

Ты глянь сначала, если меньше, то нужно просто поменять в php.ini значение на большее... а потом уже... если не будет работать, то будешь работать дальше над этой проблемой... :)

   
 
 автор: cccp   (09.01.2006 в 16:55)   письмо автору
 
   для: romza   (09.01.2006 в 16:43)
 

Ок, только я вообше не в курсе где этот php.ini

   
 
 автор: romza   (09.01.2006 в 17:35)   письмо автору
 
   для: cccp   (09.01.2006 в 16:55)
 

у тя локальный сервер или как???

Если локально то ищи в папке куда ты распоковывал PHP, если нет, пиши письма админу...

   
 
 автор: cccp   (09.01.2006 в 17:38)   письмо автору
 
   для: romza   (09.01.2006 в 17:35)
 

я в Online.net

Я не совсем рзбираюсь в этом, так что даже не знаю толком...

   
 
 автор: romza   (09.01.2006 в 17:54)   письмо автору
 
   для: cccp   (09.01.2006 в 17:38)
 

Тогда пиши админам, пусть изменят тебе эти параметры как тебе надо, тока они могут попросить тебя перейти на другой тариф...

   
 
 автор: cccp   (09.01.2006 в 18:09)   письмо автору
 
   для: romza   (09.01.2006 в 17:54)
 

Да ну, нафиг...
Тогда я обойдусь!


Тогда подкажите мне лучше как можно обавить в этот скрипт опцию что бы он работал только на фото файлы и что бы скрипт при upload переделывал фотку сам пропорционально на меньшего размера.

Буду вам очень БЛАГОДАРЕН !

   
 
 автор: Саня   (09.01.2006 в 18:26)   письмо автору
 
   для: cccp   (09.01.2006 в 18:09)
 

<?php
// $filename - имя проверяемого файла
// $height - высота, к которой будет приведено изображение
// $width - ширина, к которой будет приведено изображение
function is_image($filename$height$width) {
  
// Массив разрешённых расширений файла
  
$ext = ("gif""jpg""png""jpeg");
  
$explode explode("."$filename);
  if (
in_array($explode[count($explode) - 1])) {
    
$size getimagesize($filename);
    if (
$size[1] > $height || $size[0] > $width) {
      
resizeimg($filename$filename$height$width);
    }
  } else {
    echo(
"Запрешённый тип файла!");
  }
}
?>


Функция resizeimg() - пользовательская. Её можно найти в теме по ссылке:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=145

   
 
 автор: cccp   (09.01.2006 в 18:36)   письмо автору
 
   для: Саня   (09.01.2006 в 18:26)
 

СПАСИБО !!!

А Можно добавить это что бы скрипт заменял пропуски на линию "_", если пропуски (пробелы) есть в названии фото файла.


$espace=strrpos($filename," ");  
$filename=substr($filename,0,$espace)."_"; }  
echo $filename;  

   
 
 автор: Саня   (09.01.2006 в 19:02)   письмо автору
 
   для: cccp   (09.01.2006 в 18:36)
 

Да, конечно. Только это можно сделать одной функцией: str_replace(" ", "_", $filename);

   
 
 автор: cccp   (10.01.2006 в 00:30)   письмо автору
 
   для: Саня   (09.01.2006 в 19:02)
 

Помогите, пожалуста.
В этом случае как написать?


$nom_file   = $_FILES['fichier']['name']; 
$taille     = $_FILES['fichier']['size']; 
$tmp        = $_FILES['fichier']['tmp_name']; 
$chemin     = $target.$_FILES['fichier']['name']; 

<form enctype="multipart/form-data" action="upload_photos.php" method="POST">
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<input name="submit" type="submit" onClick="value='Patientez'" value="Envoyer">
</form>


Так ?


$fichier = str_replace(" ", "_", $fichier);// Zamenit' propuski v nazvanie fayla na "_"

или так?

$nom_file = str_replace(" ", "_", $nom_file);// Zamenit' propuski v nazvanie fayla na "_"

   
 
 автор: Саня   (10.01.2006 в 14:15)   письмо автору
 
   для: cccp   (10.01.2006 в 00:30)
 

Второй вариант.
$nom_file = str_replace(" ", "_", $nom_file);

   
 
 автор: cccp   (10.01.2006 в 21:25)   письмо автору
 
   для: Саня   (10.01.2006 в 14:15)
 

Привет Саня!

Помоги пожалуста.
Я попытался добавить сюда строчки что бы скрипт переделыывал размер фото файлов , но ничего не получилось.
Вот скрипт что отправляет файл:
<?php 

$dossier_cible 
"../music"

if(isset(
$_FILES['f'])&&isset($_POST['d'])) 

if(
file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du m&#234;me nom existe d&#233;j&#224; !</h1></body></html>"); 

if(!
move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename($_FILES['f']['name']))) die("Echec ! V&#233;rifiez les persmissions du dossier $dossier_cible !"); 
$d substr($_POST['d'],0,60); $fp fopen("$dossier_cible/d/".basename($_FILES['f']['name']),"w"); 
fwrite($fp,$d);fclose($fp); 


?>


А вот что ты мне написал:

<?php 
// $filename - имя проверяемого файла 
// $height - высота, к которой будет приведено изображение 
// $width - ширина, к которой будет приведено изображение 
function is_image($filename$height$width) { 
  
// Массив разрешённых расширений файла 
  
$ext = ("gif""jpg""png""jpeg"); 
  
$explode explode("."$filename); 
  if (
in_array($explode[count($explode) - 1])) { 
    
$size getimagesize($filename); 
    if (
$size[1] > $height || $size[0] > $width) { 
      
resizeimg($filename$filename$height$width); 
    } 
  } else { 
    echo(
"Запрешённый тип файла!"); 
  } 

?> 


Я попытался сам добавить так:

<?php 

$dossier_cible 
"../music"

if(isset(
$_FILES['f'])&&isset($_POST['d'])) 

if(
file_exists("$dossier_cible/".basename($_FILES['f']['name']))) die("<html><body><h1>Un fichier du m&#234;me nom existe d&#233;j&#224; !</h1></body></html>"); 

if(!
move_uploaded_file($_FILES['f']['tmp_name'], "$dossier_cible/".basename($_FILES['f']['name']))) die("Echec ! V&#233;rifiez les persmissions du dossier $dossier_cible !"); 
$d substr($_POST['d'],0,60); $fp fopen("$dossier_cible/d/".basename($_FILES['f']['name']),"w"); 
fwrite($fp,$d);fclose($fp); 

// $filename - имя проверяемого файла 
// $height - высота, к которой будет приведено изображение 
// $width - ширина, к которой будет приведено изображение 
function is_image($f$height$width) { 
  
// Массив разрешённых расширений файла 
  
$ext = ("gif""jpg""png""jpeg"); 
  
$explode explode(".", $); 
  if (
in_array($explode[count($explode) - 1])) { 
    
$size getimagesize($f); 
    if (
$size[1] > $height || $size[0] > $width) { 
      
resizeimg($f$filename$height$width); 
    } 
  } else { 
    echo(
"Запрешённый тип файла!"); 
  } 

?> 

   
 
 автор: cccp   (13.01.2006 в 01:12)   письмо автору
 
   для: cccp   (10.01.2006 в 21:25)
 

Добрый день всем!

Я попытался сам добавить эту строку в скрипт для проверки загруженного файла из формуляра под именем $f

Но всё-же загрузки файлов другого типа проишодят тоже.
Где моя ошибка?


<?php 
// $f - imja proverjaemogo fajla 
function is_image($f) { 
  
// Massiv razreshjonnyh rasshirenij fajla 
  
$ext = array("gif""jpg""png""jpeg"); 
  
$explode explode("."$f); 
  if (
in_array($explode[count($explode) - 1])); 
  else { 
    echo(
"Zapreshjonnyj tip fajla!"); 
  } 

?>

   
 
 автор: Loki   (13.01.2006 в 10:00)   письмо автору
 
   для: cccp   (13.01.2006 в 01:12)
 

Пропустили условие if

<?php 
// $f - imja proverjaemogo fajla 
function is_image($f) { 
  
// Massiv razreshjonnyh rasshirenij fajla 
  
$ext = array("gif""jpg""png""jpeg"); 
  
$explode explode("."$f); 
  if (
in_array($explode[count($explode) - 1]))
 {
  
// а вот тут должен быть код, который выполняется если тип файла разрешенный
 

  else { 
    echo(
"Zapreshjonnyj tip fajla!"); 
  } 

?> 

   
 
 автор: cccp   (13.01.2006 в 11:28)   письмо автору
 
   для: Loki   (13.01.2006 в 10:00)
 

Спасибо за ответ.

А не могли бы вы подсказать этот код?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования