Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 18:50   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию загрузка файлов на сервер

файл 1.php
Код:
<html>
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>
      <h2><p><b> Форма для загрузки файлов </b></p></h2>
      <form action="loadfile.php" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br> 
      <input type="submit" name="s1" value="Загрузить"><br>
      </form>
</body>
</html>
loadfile.php
Код:
<?php
error_reporting(E_ALL & ~E_NOTICE);
if(!empty($_POST['s1']))
{
	if(copy($_FILES["filename"]["tmp_name"],
     "temp/".$_FILES["filename"]["name"]))
   {
     echo("Файл успешно загружен <br>");
     echo("Характеристики файла: <br>");
     echo("Имя файла: ");
     echo($_FILES["filename"]["name"]);
     echo("<br>Размер файла: ");
     echo($_FILES["filename"]["size"]);
     echo("<br>Каталог для загрузки: ");
     echo($_FILES["filename"]["tmp_name"]);
     echo("<br>Тип файла: ");
     echo($_FILES["filename"]["type"]);
   } 
   else 
   {
      echo("Ошибка загрузки файла");
   }
}
?>
результат: браузер переходит на loadfile.php, на которой ничего не отображается и файл не загружается. подскажите плиз что мне делать

Последний раз редактировалось Dimarik; 21.07.2010 в 18:59.
Dimarik вне форума Ответить с цитированием
Старый 16.12.2010, 03:00   #2
4ok
Coder.
Пользователь
 
Аватар для 4ok
 
Регистрация: 29.11.2010
Сообщений: 33
По умолчанию

У меня та же проблема!....Вро де и условие проходит, но не загружает....
Я читал...Пришел к выводу, что якобы некий php.ini может это блочить?? А Может я сейчас выгляжу как полный ииот, говоря это)))))) Не знаю.. Подскажите плз, в чем проблема???
4ok вне форума Ответить с цитированием
Старый 16.12.2010, 05:43   #3
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Код:
Warning: copy(temp/lps03.zip) [function.copy]: failed to open stream: No such file or directory
Небыло папки temp на сервере. Как создаете - всё всё начинает работать!
Никки вне форума Ответить с цитированием
Старый 16.12.2010, 06:52   #4
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Вообщем сам не так давно решал подобную проблемы с загрузкой фалов на сервер (в моем случаем из админкской части) вот как решил:
форма:
Код HTML:
<p><form class='form1' action='upload.php' method='post' name='form1' [B]enctype=multipart/form-data[/B]>//очень важная часть про enctype
<p><strong>Add file:</strong><br>
<input type='file' name='uploadfile' /></p>
<p> <input type='submit'  name='submit' id='submit' value='Add'> </p></form><hr>
файл обработчик:

PHP код:
//функция обработки изображения, по сути находиться может где угодно
function upload_img () {
    
$uploaddir '../images/';//данная директория должна иметь атрибуты записи!!
      
$_FILES['uploadfile']['name'] = date("m-d-H-i-s").$_FILES['uploadfile']['name'];
      
//тут файл переименовывается, добалением в начало текущей даты и времени, чтоб не произошло путаницы если загружены будут файлы с одинаковым именем
    
$uploadfile $uploaddir.basename($_FILES['uploadfile']['name']);
     
copy($_FILES['uploadfile']['tmp_name'], $uploadfile);
     if (
copy($_FILES['uploadfile']['tmp_name'], $uploadfile)){echo "<p>File saved</p>";}
 else { echo 
"<p>File NOT saved! reason: - ".$_FILES['uploadfile']['error']."</p>";}
  
$img ="images/".$_FILES['uploadfile']['name'];
return 
$img;
}
/////////////////////////////////////////////////////////////
if (isset($_POST['submit'])) {$uploadfile =  $_POST['uploadfile'] ;} 

по поводу $_FILES['uploadfile']['error'], на многие процессы в php и mysql можно вывести код или содержание ошибки, чтоб самому узнать в чем проблема,

данная переменная $_FILES['uploadfile']['error'], содержит в себе код ошибки подгрузки файла, если все нормально то при echo $_FILES['uploadfile']['error']; получим 0, при наличие ошибки получим число если не изменяет память от 1 до 8 икаждая соответствует какой либо ошибке, будь то не совпадение размера или т.п...
вообщем пользуйтесь)
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 16.12.2010, 09:19   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Выбросите учебник, по которому Вы учились в окно. Дружно почитайте про функции is_uploaded_file() и move_uploaded_file(). Использовать copy не безопасно.
Виталий Желтяков вне форума Ответить с цитированием
Старый 16.12.2010, 09:29   #6
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Выбросите учебник, по которому Вы учились в окно. Дружно почитайте про функции is_uploaded_file() и move_uploaded_file(). Использовать copy не безопасно.
полностью согласен, но по какой то загадочной причине move_uploaded_file никак не хотел работать с моим скриптом и пришлось использовать copy
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 16.12.2010, 10:46   #7
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
полностью согласен, но по какой то загадочной причине move_uploaded_file никак не хотел работать с моим скриптом и пришлось использовать copy
Скорее всего, это проблемы с правами. Проверьте, а то на "боевом" сервере будут проблемы.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файла на сервер denisov JavaScript, Ajax 0 31.05.2010 19:25
удаленная загрузка на мой сервер terminadoor PHP 2 13.11.2009 02:58
Загрузка файлов через WEB форму на сервер Sergey2 PHP 17 26.07.2009 15:53
Загрузка файла на сервер Pum Работа с сетью в Delphi 11 14.03.2009 08:58