Обикновена Upload форма.
Публикувана от ko6rata на January 19 2011 10:43:24

Разширена новина
<?php
@session_start();
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = " http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF' ]);
$url_this = " http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF' ];

// Къде да се записват качените файлове?

$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="log.txt";
/************************************************************
Създава директория за качените файлове
************************************************************/
if (!is_dir("files")) {
if (!mkdir($upload_dir))
die ("няма папка за качените файлове и не можах да създам такава");
if (!chmod($upload_dir,0755))
die ("не можах да сменя правата на 755");
}
/************************************************************
Обслужва заявката на потребителя
************************************************************/
if ($_REQUEST[del]) {
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
else if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Invalid File Specified.";

/************************************************************
Списък с файлове
************************************************************/
$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$filelist .= "<br><a href='$upload_dir$file'>".$file."</a>";
}
}
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['']['exe'];
$file_type = $_FILES['']['mp3'];
$file_type = $_FILES['']['avi'];
$file_type = $_FILES['']['mp3u'];
$file_type = $_FILES['']['php'];
$file_type = $_FILES['']['html'];
$file_type = $_FILES['']['*.*'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;

//File Name Check
if ( $file_name =="") {
$message = "Невалиден тип файл";
return $message;
}
//File Size Check
else if ( $file_size > 999999999999999999999) {
print $file_size;
$message = "Размера на файла е много голям.";
return $message;
}
//File Type Check
else if ( $file_type == "text/plain"
|| $file_type == "application/force-download"
|| $file_type == "application/octet-stream") {
$message = "Не може да качвате скриптови файлове";
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0755))
$message = "не можах да сменя правата на 755";
else
$message = ($result)?"$file_name($file_type) файла качен успешно." :
"Каченият файл е повреден.";
return $message;
}
?>
<table style="width: 40%" align="center" valign="top">
<tr>
<td>
<div align="center" style="font-size: 19px; font-weight: bold">
</table>
<body bgcolor="#667987"><center>
<font color=red><?=$_REQUEST[message]?></font>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Качи фаил: <input type="file" id="userfile" name="userfile" size="20">
<input type="submit" name="upload" value="Upload">
</form>
<b>До сега потребителите ни са качили следните файлове:</b>
<hr style="color:yellow; background-color:black; height:1px;
margin-right:0; text-align:right; border:0px">
<?=$filelist?>
</center>
<?
if ($_REQUEST[debug]==1) print "------------------Debugging Info----------------<br>";
if ($_REQUEST[debug]==1) print "site=$site_name<br>dir=$url_dir<br>url=$url_this<br>";
if ($_REQUEST[debug]==1) print "upload dir=$upload_dir<br>upload url=$upload_url<br>";
?>

Това е една обикновена Upload форма.
За да качвате е необходимо да си създадете една директория files при Upload формата и също един TXT документ с име log.txt :)