[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: загрузка файлов на сервер
_Dimarik__
файл 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, на которой ничего не отображается и файл не загружается. подскажите плиз что мне делать



Спустя 25 минут, 35 секунд (21.07.2010 - 18:27) olgatcpip написал(а):
ну же! вот что нужно делать в таких случаях
1 - вывести что-нить в первой строчке.
2 - вывести что-нить в последней строчке
а?

Спустя 33 минуты, 35 секунд (21.07.2010 - 19:00) _Dimarik__ написал(а):
<?php
error_reporting(E_ALL & ~E_NOTICE);
echo "1";
if(!empty($_POST['s1']))
{
echo "2";
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("Ошибка загрузки файла");
}
echo "3";
}
?>

только 1 выводит. мне кажется у еня какой-то косяк с $_POST['s1'])

Спустя 15 минут, 8 секунд (21.07.2010 - 19:15) Basili4 написал(а):
пробуй проверять не так
if(!empty($_POST['s1'])) а

if(isset($_POST['s1']))

Спустя 16 минут, 8 секунд (21.07.2010 - 19:32) _Dimarik__ написал(а):
результат тот. же. я попробовал вывести $_POST['s1'], НЕ ВЫВЕЛ.
<?php
error_reporting(E_ALL & ~E_NOTICE);
echo "1";
echo $_POST['s1'];
if(isset($_POST['s1']))
{
echo "2";
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("Ошибка загрузки файла");
}
echo "3";
}
?>

получается что у меня _POST['s1'] пусто, хотя я ж на кнопку нажимал.

Спустя 1 минута, 38 секунд (21.07.2010 - 19:33) Basili4 написал(а):
самой первой строкой делай так print_r($_POST);

смотри что пишет

Спустя 1 минута, 3 секунды (21.07.2010 - 19:34) _Dimarik__ написал(а):
а вот когда я убрал условие if(isset($_POST['s1'])), у меня браузер выдал
12
Warning: copy() [function.copy]: Filename cannot be empty in C:\wamp\www\loadfile.php on line 9
Ошибка загрузки файла3
то есть он прошёл по echo"1"; echo"2" и не смог скопировать файл.
Получается 2 проболемы:
с $_POST['s1'] и копированием файла. а вот как их решить и что я сделал не так я не знаю(

Спустя 1 минута, 6 секунд (21.07.2010 - 19:35) _Dimarik__ написал(а):
Array ( [s1] => Загрузить )
1Загрузить2
Warning: copy(temp/Nu_vot_i_doma.jpg) [function.copy]: failed to open stream: No such file or directory in C:\wamp\www\loadfile.php on line 10
Ошибка загрузки файла3
вот это написал

Спустя 2 минуты, 57 секунд (21.07.2010 - 19:38) MatrixGod написал(а):
if($_POST[s1])


права на папку 777 поставь.

Спустя 58 секунд (21.07.2010 - 19:39) Basili4 написал(а):
выводи echo $_FILES["filename"]["tmp_name"];
echo "temp/".$_FILES["filename"]["name"];

там что пишет. всё дело в путях.

Спустя 9 минут, 34 секунды (21.07.2010 - 19:49) _Dimarik__ написал(а):
права на папку 777 поставь. - можно про это поподробнее?

вот:
Array ( [s1] => Загрузить )
C:\wamp\tmp\php9B6.tmp
temp/Nu_vot_i_doma.jpgtemp/Nu_vot_i_doma.jpg
1Загрузить2
Warning: copy(temp/Nu_vot_i_doma.jpg) [function.copy]: failed to open stream: No such file or directory in C:\wamp\www\loadfile.php on line 15
Ошибка загрузки файла3

Спустя 18 минут, 54 секунды (21.07.2010 - 20:08) Basili4 написал(а):
temp/Nu_vot_i_doma.jpg
temp/Nu_vot_i_doma.jpg
ты пытаешся скопировать файл в самого себя так конечно не получится

Спустя 7 минут, 45 секунд (21.07.2010 - 20:16) _Dimarik__ написал(а):
что мне делать? что я не так делаю? поясните плииииз

Спустя 13 минут, 1 секунда (21.07.2010 - 20:29) Basili4 написал(а):
укажи другое место для копирование не в директории temp и все будет

Спустя 18 минут, 57 секунд (21.07.2010 - 20:48) _Dimarik__ написал(а):
1. $_FILES["filename"]["tmp_name"]; - это имя на сервере
$_FILES["filename"]["name"]; - это имя на компе пользователя???
если это так, то почему
echo "temp/".$_FILES["filename"]["name"];
мне выдало
temp/Nu_vot_i_doma.jpgtemp/Nu_vot_i_doma.jpg???
2.
а где тут в одно и то же место?

C:\wamp\tmp\php9B6.tmp
temp/Nu_vot_i_doma.jpgtemp/Nu_vot_i_doma.jpg
это как я понял, временный файл php9B6.tmp, а вот это Nu_vot_i_doma.jpgtemp - папка ???

Спустя 9 минут, 46 секунд (21.07.2010 - 20:57) phz написал(а):
Читайте http://php.net/manual/en/function.move-uploaded-file.php

Что это за мода использ. copy для загрузки файлов...

Простой пример:

$uploaddir = 'files/';
$uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile) == FALSE)
{
echo 'Ошибка загрузки файла';
} else {
echo 'Удачно загружен!';
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.