Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Закачка файла 
:(
    Опции темы
DrNemo
Дата 19.7.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: 1
Всего: 1



Вопрос как сделать закачку файла на сервер?
имя получаю из
Код

<input name="foto_1" type="file" size="40">


а что далее?
зарание спасибо! 
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
PARROT
Дата 19.7.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



А далее поиск по Винграду, было много раз, в разных вариантах http://forum.vingrad.ru/index.php?act=Sear...;skipped=%ED%E0  


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Redstuff
Дата 21.7.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Команда REDSTUFF
**


Профиль
Группа: Участник
Сообщений: 497
Регистрация: 27.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



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

upload.html

Код

<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="file">
<input type="submit" value="Submit">
</form>


С помощью этой формы посетитель сайта сможет выбрать на своем компьютере файл для закачивания на Ваш сайт.

Далее нужно создать сам серверный сценарий, который примет файл от посетителя.

upload.php

Код

<?php
$uploaddir = '/home/login/www/site1/public_html/uploads/';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir.$_FILES['file']['name'])) {
  echo 'File was uploaded';
}else{
  print 'Error';
}
?> 
 


--------------------
ГОСТы, СНиПы, ТУ...
<реклама удалена администрацией форума>
PM MAIL WWW ICQ Skype   Вверх
Muchenik
Дата 21.7.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Тут хорошо расписано

http://vingrad.ru/PHP-PHPSCRIPTS-002361 
PM MAIL ICQ   Вверх
DrNemo
Дата 21.7.2006, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: 1
Всего: 1



Спасибо! 
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
DrNemo
Дата 25.7.2006, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: 1
Всего: 1



возник еще один вопросик, а как сохранить фай с тем же расширением с каким он и поступил
пробовал так но он сохряняет с расширением *.tmp
Код

$ew=substr($file_sc,-4,4);

$put1=dirname($PATH_TRANSLATED).'/unload/'.$q.$ew;
 
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
Muchenik
Дата 25.7.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Расширение можно получить так:
Код

$path_parts = pathinfo('picture.jpg');
print $path_parts['extension'];



В твоем случае:

Код

$path_parts = pathinfo($_FILES['file']['name']); 
print "NewFileName.".$path_parts['extension']; // новое имя со старым расширением


   

Это сообщение отредактировал(а) Muchenik - 25.7.2006, 21:45
PM MAIL ICQ   Вверх
DrNemo
Дата 25.7.2006, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: 1
Всего: 1



вот код формы:
Код

<form name="form3" enctype="multipart/form-data" method="post" action="index.php?id=9&go=new">
...
<input name="naz" type="text" id="naz" size="50">
...
...
...
<input name="file_sc" type="file" size="40">
...
<input type="submit" name="cmdOK" value="Регистрация">
</form>


 вот код приемника:
Код

$q=count ( "file/list_new.txt" );

$path_parts = pathinfo($file_sc);

$put1=dirname($PATH_TRANSLATED).'/unload/'.$q.'.'.$path_parts['extension'];
if ( move_uploaded_file($file_sc, $put1)):
echo "Ok";
else:
echo "Error";
endif;


$file_sc = /tmp\php24E.tmp(или что-то похожее)
пробовал загружать разные файлы

Кстати и форма и приемник находятся в одном файле(обработка приемника запускается только если go=new), может это быть причиной ошибки?  
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
Muchenik
Дата 25.7.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



 $file_sc - тут у тебя временное имя (если я не ошибаюсь), с которым принятый файл был сохранен на сервере. А тебе нужно использовать $_FILES['file']['name'] - оригинальное имя файла на компьютере клиента.

Еще есть $_FILES['userfile']['type'] - Mime-тип файла, в случае, если браузер предоставил такую информацию. 

Тут еще посмотри


т.е. нужно гдето :

Код

$file_sc = $_FILES['file']['name'];


а потом получить расширение:

Код

$path_parts = pathinfo($file_sc);
print $path_parts['extension'];  //расширение
 
PM MAIL ICQ   Вверх
DrNemo
Дата 25.7.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 7.12.2005
Где: Не пейте ракетное топливо! :-)

Репутация: 1
Всего: 1



Всем спасибо, у меня заработало вот код:
Код

$f_cs=$HTTP_POST_FILES['file_sc']['name'];
$path_parts = pathinfo($f_cs);

$put1=dirname($PATH_TRANSLATED).'/unload/'.$q.'.'.$path_parts['extension'];
if ( move_uploaded_file($file_sc, $put1)):
echo "Ok";
else:
echo "Error";
endif;

 
--------------------
На свете есть только две вещи которые сносят башню - космос и женщины (К.Ю.Бунин)Самый мастдаевский сакс в том, что рулезные фичи глючат :))
PM MAIL WWW ICQ   Вверх
5starter
Дата 20.10.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.10.2007

Репутация: нет
Всего: нет



А у меня, что-то не работает

Код

<form method="post" action="micro1.php" enctype='multipart/form-data'>
//<input type="hidden" name="max_file_size" value="10000">
 <input type=file name="File"> <br>
<input type="submit" name="doUpload" value="Отправить">
</form>



Код

    $FileName=$_FILES['File']['name'];
    $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
    $upload_url = $url_dir."/file/";
    if(move_uploaded_file($_FILES["filename"]["tmp_name"],$upload_url.$FileName))
    {
       echo "Gut";
    } else {
       echo "Her";
    }


Может дело в настройках?
PM MAIL   Вверх
astra0
Дата 21.10.2007, 05:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.5.2007

Репутация: нет
Всего: нет



Код

 echo "<form action='2.php'  method =post>";
                      //В форму можно вставлять любые элементы
  echo <a href='#1' onclick='up()'>Прикрепить файл</a>";     ?>
  <input type=submit name=go value=Отправить>
   <div id='up'></div>
   </form>

  <script language='JavaScript'>
    function up(){
        var div=document.getElementById("up");
        div.innerHTML='Выберите файл:<br><input name="up1" type=file><br><input name="up2" type=file><br><input name="up3" type=file><br>';
      }

</script>


2.php
Код

     if(!empty($_POST["up1"])){              //проверяем поля
                 $pos=strrpos($_POST["up1"],"\\");         //находим позицию имени
      $f[1]=substr($_POST["up1"],$pos);     //убираем директорию получаем имя

 if (copy ($_POST["up1"], "./filesc/".$f[1]))              //копируем в указанный путь ("./filesc/) и имя ($f[1])
{
                                                                           можно втыкнуть что-нибудь для достоверности
}
else
{

}
       }


далее анологично .. таким образом за раз передаем и обычные данные из формы и три файла ..  код конечно дрявый, но его можно залатать
        if(!empty($_POST["up2"])){
           $pos=strrpos($_POST["up2"],"\\");
         $f[2]=substr($_POST["up2"],$pos);

 if (copy ($_POST["up2"], "./filesc/".$f[2]))
{

}
else
{

}
       }

       if(!empty($_POST["up3"])){
               $pos=strrpos($_POST["up3"],"\\");
        $f[3]=substr($_POST["up3"],$pos);

 if (copy ($_POST["up3"], "./filesc/".$f[3]))
{

}
else
{

}
       }   


Это сообщение отредактировал(а) astra0 - 21.10.2007, 22:23
PM MAIL   Вверх
5starter
Дата 21.10.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.10.2007

Репутация: нет
Всего: нет



Не работает. Хотя я в яве не соображаю но помоему гдето ошибочка-в браузере видно вот это
Прикрепить файл  КНОПКА
function up(){ var div=document.getElementById("up"); div.innerHTML='Выберите файл:

ПОЛЕ КНОПКА
ПОЛЕ КНОПКА
ПОЛЕ КНОПКА

'; }
PM MAIL   Вверх
5starter
Дата 21.10.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.10.2007

Репутация: нет
Всего: нет



В своём коде нашел ошибку надо было так: 
Код

if(move_uploaded_file($_FILES["File"]["tmp_name"],$upload_url.$FileName))

Но сервер показал ошибки:
Warning: copy(http://localhost/site/file/00000003.gif) [function.copy]: failed to open stream: HTTP wrapper does not support writeable connections. in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\site\micro1.php on line 42

что опять не так
PM MAIL   Вверх
astra0
Дата 21.10.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.5.2007

Репутация: нет
Всего: нет



Совсем забыл надо тег </script> закрыть
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.