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

Форум PHP

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

 

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

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

тема: Не могу загрузить файл в определенную папку!!!
 
 автор: Spyder   (22.06.2005 в 07:58)   письмо автору
 
 

Не могу загрузить файл в определенную папку!!! Есть html страничка с формой для загрузки файл и есть PHP код который выполняет загрузку. Выбираю файл txt нажимаю загрузить а он пишет ошибка загрузки файла. Пробывал пути менять не помогает. Подскажите пожалуйста что может быть

   
 
 автор: Ziq   (22.06.2005 в 08:11)   письмо автору
 
   для: Spyder   (22.06.2005 в 07:58)
 

Выкладывай html-код формы и скрипт, чтобы можно было найти ошибку!

   
 
 автор: Spyder   (22.06.2005 в 08:18)   письмо автору
 
   для: Ziq   (22.06.2005 в 08:11)
 

Вот HTML
<html>
<head>
<title>one</title>
</head>
<body>
<h2><p><b>Форма для загрузки файлов</b></p></h2>
<form action="upload.php" method="post" entype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>

а вот PHP
<?
if(copy($HTTP_POST_FILES["filename"]["tmp_name"], "c:/temp/".$HTTP_POST_FILES["filename"]["name"]))
{
echo(
"Файл успешно загружен");
}
else
{
echo(
"Ошибка загрузки файла");
}

   
 
 автор: Ziq   (22.06.2005 в 08:26)   письмо автору
 
   для: Spyder   (22.06.2005 в 08:18)
 

Вполне вероятно, что ты не создал папку temp.
А вообще еще выложи саму ошибку.

   
 
 автор: Spyder   (22.06.2005 в 08:28)   письмо автору
 
   для: Ziq   (22.06.2005 в 08:26)
 

Папку я создал!!!
Она саму ошибку не выдает просто пишет "Ошибка копирования файла" которая прописана в PHP коде.

   
 
 автор: localGhost   (22.06.2005 в 08:57)   письмо автору
 
   для: Spyder   (22.06.2005 в 08:18)
 

попробуй путь прописать не как "c:/temp/".$HTTP_POST_FILES["filename"]["name"] а например как "temp/".$HTTP_POST_FILES["filename"]["name"]

   
 
 автор: Spyder   (22.06.2005 в 09:05)   письмо автору
 
   для: localGhost   (22.06.2005 в 08:57)
 

Дак это у меня же файл PHP в другом каталоге лежит если бы он тамже находился ещё можно было но всё равно он должен в любую папку копировать!!!

   
 
 автор: P@Sol   (22.06.2005 в 09:22)   письмо автору
 
   для: Spyder   (22.06.2005 в 09:05)
 

сделай
echo $HTTP_POST_FILES["filename"]["tmp_name"];
перед тем как копировать...показывает файл.tmp?

   
 
 автор: Spyder   (22.06.2005 в 09:48)   письмо автору
 
   для: P@Sol   (22.06.2005 в 09:22)
 

Кого показывает файл который копирую или папку в которую копирую?????

   
 
 автор: P@Sol   (22.06.2005 в 09:54)   письмо автору
 
   для: Spyder   (22.06.2005 в 09:48)
 

1. если нечего не показывает...значит ошубка тут
2. если показывает, то можно увидеть что это файл с расширением tmp

   
 
 автор: Spyder   (22.06.2005 в 09:59)   письмо автору
 
   для: P@Sol   (22.06.2005 в 09:54)
 

Он просто выдает "ошибка копирования файла" и всё больше ничего нету
Мне просто надо чтобы файл который я выбрал он скопировал в определенную директорию и всё!!!

   
 
 автор: P@Sol   (22.06.2005 в 10:03)   письмо автору
 
   для: Spyder   (22.06.2005 в 09:59)
 

кхм..

echo $HTTP_POST_FILES["filename"]["tmp_name"]; 
if(copy($HTTP_POST_FILES["filename"]["tmp_name"], "c:/temp/".$HTTP_POST_FILES["filename"]["name"])) 

echo("Файл успешно загружен"); 

else 

echo("Ошибка загрузки файла"); 


посмотри выведется ли имя файла на экран

   
 
 автор: Spyder   (22.06.2005 в 10:14)   письмо автору
 
   для: P@Sol   (22.06.2005 в 10:03)
 

Он вывел сообщение "C:\WINDOWS\TEMP\phpD.tmpФайл успешно загружен"
я нашел у себя ошибку в HTML в форме <form action="upload.php" method="post" enctype="multipart/form-data"> а я сначало написал entype вот он и поэтому не копировал.
А на счёт сообщения которое он мне выдал я непонял при чем тут "C:\WINDOWS\TEMP\phpD.tmp" когда я копировал другой файл и в другую директорию объясни пожалуйста!!!

   
 
 автор: P@Sol   (22.06.2005 в 10:19)   письмо автору
 
   для: Spyder   (22.06.2005 в 10:14)
 

offtop: извините, не могли бы Вы писать со знаками припинания?

по теме: файл сначала копируется во временную директорию, а потом вы ее переносите туда, куда вам нужно

   
 
 автор: Spyder   (22.06.2005 в 10:23)   письмо автору
 
   для: P@Sol   (22.06.2005 в 10:19)
 

Спасибо что разъяснили я всё понял!!!!

   
 
 автор: cheops   (22.06.2005 в 10:09)   письмо автору
 
   для: Spyder   (22.06.2005 в 08:18)
 

Выведите содрежимое массива $HTTP_POST_FILES
<?php
  print_r
($HTTP_POST_FILES);
?>

Что в нём?
За одно выведите так же содержимое массива $_FILES - у вас может быть отключена поддержка "длинных" суперглобальных массивов в php.ini (в новых дистрибутивах PHP такака поддержка отключается по умолчанию).
<?php
  print_r
($_FILES);
?>

   
 
 автор: P@Sol   (22.06.2005 в 10:11)   письмо автору
 
   для: cheops   (22.06.2005 в 10:09)
 

и я к этому склонен...

   
 
 автор: Spyder   (22.06.2005 в 10:18)   письмо автору
 
   для: cheops   (22.06.2005 в 10:09)
 

В первом и во втором вывел Array()
У меня всё получилось!!!
Да а вот ещё если файл уже сущуствует в данной директории как можно сделать чтобы он выводил сообщение о том что файл уже сущ. в данной директории и возвращал назад.
И ещё подскажите пожалуйста как можно сделать чтобы можно было выбрать директорию куда будет копироваться и выбор файла
Заранее спасибо!!!

   
 
 автор: cheops   (22.06.2005 в 10:44)   письмо автору
 
   для: Spyder   (22.06.2005 в 10:18)
 

>Да а вот ещё если файл уже сущуствует в данной директории
>как можно сделать чтобы он выводил сообщение о том что файл
>уже сущ. в данной директории и возвращал назад.
Для этого можно воспользоваться функцией file_exists(), применение которой можно посмотреть в теме по ссылке
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4864

>И ещё подскажите пожалуйста как можно сделать чтобы можно
>было выбрать директорию куда будет копироваться и выбор
>файла
Много ли директорий в вашей системе? Может удобнее сделать это при помощи выпадающего списка в форме? Файл можно выбрать при помощи тэга
<input type=file name=name>

   
 
 автор: Spyder   (22.06.2005 в 10:53)   письмо автору
 
   для: cheops   (22.06.2005 в 10:44)
 

нет не много
Это получается из выподающего списка выбираеш папку??

   
 
 автор: P@Sol   (22.06.2005 в 11:06)   письмо автору
 
   для: Spyder   (22.06.2005 в 10:53)
 

<SELECT NAME="papka">
<OPTION VALUE="no" SELECTED>не выбрана
<OPTION VALUE="pic">pic
<OPTION VALUE="game">game
<OPTION VALUE="mobil">mobil
</SELECT>

потом смотреть чему равно $papka

   
Rambler's Top100
вверх

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