|
|
|
| upload.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Администрирование - загрузка новых файлов</title>
</head>
<body>
<h1>Загрузка новых файлов с новостями</h1>
<form action="upload.php" method="post" enctype="multipart/form-data" target="_blank">
<input name="MAX_FILE_SIZE" type="hidden" value="1000000">
Загрузить файл <input name="userfile" type="file">
<input name="" type="submit" value="Послать файл">
</form>
</body>
</html>
|
upload.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Загрузка . . .</title>
</head>
<body>
<h1>Загрузка файла . . . </h1>
<?php
if ($_FILES['userfile']['error'] > 0)
{
echo 'Проблема: ';
switch ($_FILES['userfile']['error'])
{
case 1: echo 'размер файла больше uoload_max_filesize' ; break;
case 2: echo 'размер файла больше max_file_size'; break;
case 3: echo 'загружена только часть файла'; break;
case 4: echo 'файл не загружен'; break;
}
exit;
}
// Проверка, имеет ли файл правильный MIME-тип
if ($_FILES ['userfile']['type'] != 'text/plain')
{
echo 'Проблема: файл не является текстовым';
exit;
}
// Помещаем файл туда, куда нужно
$upfile = '/uploads/'.$_FILES['userfile']['name'];
if ($_FILES['userfile']['tmp_name'])
{
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
echo 'Проблема: невозможно переместить файл в каталог назначения';
exit;
}
}
else
{
echo 'Проблема: возможна атака через загрузку файла. Файл: ';
echo $_FILES['userfile']['name'];
exit;
}
echo 'Файл успешно загружен. <br><br>';
// Переформатирование содержимого файла
$fp = fopen($upfile, 'r');
$contents = fread ($fp, filesize ($upfile));
fclose ($fp);
$contents = strip_tags ($contents);
$fp = fopen ($upfile, 'w');
fwrite ($fp, $contents);
fclose($fp);
// Вывод загружаемого файла
echo 'Предварительный просмотр содержимого загруженного файла: <br><hr>';
echo $contents;
echo '<br><hr>';
?>
</body>
</html>
|
подскажите почему выдает ошибку при загрузке | |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 20:31)
| | А что за ошибка выдается? | |
|
|
|
|
|
|
|
для: cheops
(02.06.2011 в 20:35)
| | move_uploaded_file() в 33 строке | |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 20:45)
| | upload.html
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>
|
upload.php
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<?php
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"c:/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("Ошибка загрузки файла");
}
?>
</body>
</html>
|
этот работает код! подскажите как вытащить файлы с сервера теперь? | |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 20:45)
| | Просто пишет "Проблема: невозможно переместить файл в каталог назначения" или еще что-то сообщается?
PS В качестве быстрого решения можно заменить эту функцию на copy(). | |
|
|
|
|
|
|
|
для: cheops
(02.06.2011 в 21:23)
| | сама проблема в этой строке была
$upfile = '/uploads/'.$_FILES['userfile']['name'];
| !
а что насчет чтения файла с каталога, мне нужно чтобы пооказывались все файлы в директории | |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 21:27)
| | Мне кажется первый / лишний, если только папка uploads не находится в корне диска. Это хостинг или ваш личный сервер/компьютер? Тут нужен абсолютный путь от корня диска (не сайта) или относительный путь. | |
|
|
|
|
|
|
|
для: cheops
(02.06.2011 в 21:31)
| | да как раз в том и проблема!
в каталоге лежит 10 картинок, вот код который выводит только 1 картинку
как сделать чтоб все выводились?
<?
header("Content-type: image/gif");
readfile("image.jpg");
?>
|
| |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 21:34)
| | Передавайте имя/номер картинки в качестве параметра, а изображения выводите при помощи тэга <img>, как любое другое изображение
| |
|
|
|
|
|
|
|
для: cheops
(02.06.2011 в 21:47)
| | можно пожалуйста по подробнее, не особо понял как так сделать | |
|
|
|
|
|
|
|
для: admin
(02.06.2011 в 21:53)
| | Чтобы подключить несколько изображений на странице, вам потребуется HTML-файл, так как только он может подключать к себе множество изображений. Как вы подключаете изображения в HTML-файлах? Вы используете тэг <img src='image.jpg'>, точно также подключаются динамические изображения, формируемые скриптом, например <img src='image.php'>. Так как у вас один скрипт вероятно будет генерировать все изображения, то для того, чтобы он знал, какое изображения нужно отображать, эту информацию нужно передать через GET-параметр, например <img src='image.php?filename=image.jpg'>, чтобы скрипт мог извлечь её из суперглобального массива $_GET['filename']. | |
|
|
|
|
|
|
|
для: cheops
(02.06.2011 в 21:31)
| | / лишний, только это не папка - uploads, почему то это задается первая половина имени картинки | |
|
|
|