| |
|
|
| | Здраствуйте внизу предоставлен код скрипта который закачивает файл на сервер и выводит данные о нем.И так вот в чем проблема, те кто пользуються этим скриптом иногда заливают файлы с названиями нелатинскими названиями или с названиями котиорые цже присутсвуют на сервере ... я долго бился над тем чтоб сделать так чтобы названия файла отличалось от той которую заливают, но не получилось помагите.. С функией rand я в принципе разобрался а вот как ее туда затюмашить ненаю заранее балгодарю. только просто подправте и выставте скрипт если вас не затруднит!
<head>
<script language="javascript">
<!--
function f2(x)
{
x.focus();
x.select();
};
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<?php
$UPLOAD_PATH = "/var/www/vhosts/mydomain.com/subdomains/brave/httpdocs/img"; // Директория куда фалы зальються
$UPLOAD_NUM = 1; // the number of upload fields
// display uploaded file list or errors during uploading
// and upload files
function displayUploadedList ()
{
global $UPLOAD_PATH,
$UPLOAD_NUM,
$HTTP_POST_FILES;
$buff = '';
$error = 0;
for ($i = 0; $i < $UPLOAD_NUM; $i++)
{
$name = $HTTP_POST_FILES["File$i"]['name']; // this is the real name of your file
$tmp = $HTTP_POST_FILES["File$i"]['tmp_name']; // this is the temporary name of your file in temporary
// directory on the server
if (!is_uploaded_file ($tmp)) // is this temporary file really uploaded?
continue;
$buff .= " <b>".$name." </b> ";
$buffs .= "http://mydomain.com/upload/".$name."";
if (move_uploaded_file($tmp, $UPLOAD_PATH."/".$name)) // move temporary file to your upload directory
$error = 1;
}
if (strlen ($buff) == 0)
{
?>
<span class=Warning>Сестра выбери файл чтоб закачать </span>
<?
return false;
}
else if ($error)
{
?>
<center> <span class=Message>Сестра Файл <?=$buff ?> был залит </span>
<table class="global">
<tr>
<td>
<div class="text" style="color:blue">1. Прямая ссылка </div>
<input name="input_link_1" type="text" id="input_link_1" readonly="readonly" onclick="f2(this);" style="border-right: black 1px solid; border-top: black 1px solid; border-left: black 1px solid;
width: 400px; border-bottom: black 1px solid" value="<?=$buffs ?>" />
</td>
</tr>
<tr>
<td>
<div class="text" style="color:green">2. Картинка в тексте;</div>
<input name="input_link_2" type="text" id="input_link_2" readonly="readonly" onclick="f2(this);" style="border-right: black 1px solid; border-top: black 1px solid; border-left: black 1px solid;
width: 400px; border-bottom: black 1px solid" value="[IMG]<?=$buffs ?>[/IMG]" />
</td>
</tr>
<tr>
<td>
<div class="text">8.BBCode, строчные буквы: картинка в тексте</div>
<input name="input_link_8" type="text" id="input_link_8" readonly="readonly" onclick="f2(this);" style="border-right: black 1px solid; border-top: black 1px solid; border-left: black 1px solid;
width: 400px; border-bottom: black 1px solid" value="[img]<?=$buffs ?>[/img]" />
</td>
</tr>
<tr>
<td><span class=Message> <center>Список файлов в каталоге<font color=red> ) </font> </span>
</td>
</tr>
</table>
<?
return false;
}
return true;
}
// display upload form
// this is not interesting function ;-(
function displayUploadForm () // display upload form,
{
global $UPLOAD_NUM;
$tablePre = "
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td bgcolor=#C0C0C0 align=left valign=top>
<table border=0 cellspacing=1 cellpadding=3>
<tr>
<td class=TableHeader align=left valign=middle colspan=8 bgcolor=#C0C0C0>Форма закачки </td>
</tr>
<tr bgcolor=#FFFFFF>
<td class=TableHeader align=left valign=middle colspan=8 height=1></td>
</tr>
";
$displayed = '';
for ($i = 0; $i < $UPLOAD_NUM; $i++)
{
$displayed .= "<td class=TableElement bgcolor=#FFFFFF><input type=file name=File$i length=25></td></tr>";
}
$tableSuf = "
</table>
</td>
</tr>
</table>
<p><input type=submit name=Upload value=\"Закачать!\" style=\"font-size: 10pt;\"></p>
";
print $tablePre.$displayed.$tableSuf; $fileNameShort;
}
?>
<html>
<head>
<title>Закачка фотографий</title>
<link rel=stylesheet type=text/css href=./styles.css>
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height=100% border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" bgcolor="#C0C0C0">
<table width="100%" height=100% border="0" cellspacing="1" cellpadding="5">
<tr>
<td bgcolor="#C0C0C0" width="25" height=20> </td>
<td bgcolor="#FFFFFF" colspan=2>
<?
print "<font class=Text algin=center>Закачка фотографий на альбом - <b>$header!</b></font>";
?>
</td>
</tr>
<tr> <form method=POST enctype="multipart/form-data" action="./index.php" >
<td align="left" valign="top" bgcolor="#FFFFFF" width="25"> </td>
<td align="left" valign="top" bgcolor="#FFFFFF" height=100%>
<?
displayUploadForm ();
?>
</td>
<td align="left" valign="top" bgcolor="#FFFFFF" width="50%">
<?
if (isset ($Upload)) // if user has clicked on Upload button we must try to upload something
displayUploadedList ();
?>
</td>
</form>
</tr>
<tr>
<td bgcolor="#C0C0C0" colspan="2" height=20><span class=Text><b> Сделал Я ВЕК</b></span></td>
</tr>
</table>
</tr>
</table>
</body>
</html>
|
| |
| |
|
|
| |
|
|
| |
для: Волчонок
(23.07.2007 в 21:37)
| | | Вам не нужен rand()
Вы же нумеруете файлы?
Вот и сохраняйте содержимое файла под именем, созданным из его номера. | |
| |
|
|
| |
|
|
| |
для: Trianon
(23.07.2007 в 21:43)
| | | но как это сделать понимаете я сам не писал этот скрипт я не знаю как это сделать и лучше рандом | |
| |
|
|
| |
|
|
| |
для: Волчонок
(24.07.2007 в 02:11)
| | | Помогите пожалуйста прошу | |
| |
|
|
| |
|
|
| |
для: Волчонок
(25.07.2007 в 02:48)
| | | . | |
| |
|
|
| |
|
|
| |
для: provodnik
(25.07.2007 в 10:30)
| | | Вы что то написали? | |
| |
|
|
| |
|
|
| |
для: Волчонок
(25.07.2007 в 20:02)
| | | Я бы посоветовал определиться с тем, какие данные Вы хотите складывать.
Только имя файла, и само содержимое файла, вообще никак не привязываясь к тому, кто и когда и с какой целью его загрузил?
И показывать список всех загруженных файлов внавал?
И еще вопрос. Есть ли на сервере БД? | |
| |
|
|
| |
|
|
| |
для: Trianon
(25.07.2007 в 20:19)
| | | 1 скрипт работает просто мне нужно чтоб туда заливалаись фотки уже с другим названием например заливаем 1.jpg а в сервере чтобы было 6545945615.jpg
2 скрипт который показывает что уже в папке лежит есть просто я код удалил чтобы менше места было (кстати его тоже мне помагли дописать тут за что огромное спасибо пацанам!)
3 Бд есть но весь скрипт я переписать не смогу это тяжело (( | |
| |
|
|
| |
|
|
| |
для: Волчонок
(26.07.2007 в 01:15)
| | | Людииииииии помогите!!!! | |
| |
|
|
| |
|
|
| |
для: Волчонок
(27.07.2007 в 20:02)
| | | Вы знаете, кто такой зануда?
<?php
$dir = 'files'; // server dir
$hdir = 'files'; // site dir
if(isset($_GET['upload'])) // form print
{ ?>
<form action=? method=post enctype="multipart/form-data">
<input type=file name=loadedfile />
<input type=submit name=Upload! />
</form> <?
exit;
}
if(isset($_FILES['loadedfile'])) // upload process
{
if(!empty($_FILES['loadedfile']['error']))
{
$err = $_FILES['loadedfile']['error'];
$msg = array( "Ok","File too large (php.ini)" , "File too large (form limit)",
"The uploaded file was only partially uploaded.","No file was uploaded.",
"Missing a temporary folder. ","Failed to write file to disk.",
"File upload stopped by extension. ");
echo"<a href=?upload>{$msg[$errerr]}</a>";
exit();
}
if(isset($_FILES['loadedfile']['tmp_name']) && !$_FILES['loadedfile']['error'] )
{
$oldname = $_FILES['loadedfile']['tmp_name'];
$newname = md5(microtime()); // random name generation
$opt = pathinfo($_FILES['loadedfile']['name']);
$opt = $opt['extension'];
if($opt == '')
$opt = 'tmp';
move_uploaded_file($oldname, "$dir/$newname.$opt");
header("Location: ".$_SERVER['PHP_SELF']);
exit();
}
}
echo "<a href=?upload>Upload new file</a><hr>"; // upload reference
$res = opendir($dir); // directory lister
if($res)
{
while($file = readdir($res))
{
if($file[0] != '.' && is_file("$dir/$file"))
echo "<a href=$hdir/$file target = _blank>$file<br/>\r\n";
}
closedir($res);
}
?>
|
Зануда, это человек, которому проще отдаться, чем объяснить свое нежелание это делать. | |
| |
|
|
| |
|
|
| |
для: Trianon
(28.07.2007 в 00:39)
| | | Спасибо конечно, за то что постарались и помогли но вы могли бы спокойной написать мне что не хотите помогать.. это на будуюшее (( я бы понял бы ( | |
| |
|
|
| |
|
|
| |
для: Волчонок
(28.07.2007 в 09:37)
| | | В том то и дело. Не помогать. Мешать не хочу.
Вы просите решение, которое вредно в самой своей сути, отказываясь от предлагаемых Вам корректных путей.
Ну да проехали.... | |
| |
|
|