V případě že by se uploadnul další soubor s jiným názvem tak aby se vložil stejně ale zase mezi <Files></Files><Files>
<Extra>
<FileName>AAAAA.exe</FileName>
<Name>AAAAA</Name>
<MD5>2d2e6fc743c9065d163c0e01b7f7e024</MD5>
<Modified>Duben 5 2006 13:26:01</Modified>
<Size>56114</Size>
<LocalPath>BBBBB/CCCCC/</LocalPath>
<ServerPath>DDDDD/</ServerPath>
</Extra>
</Files>
A ted nevím ... v případě že by se uploadoval jiný soubor se stejným názvem potřebuju aby se ty původní informace o něm přepsaly ... takže by vše zůstalo až na MD5 a Size ty by byly podle nového uploadnutého souboru ... čili abych to shrnul ... potřebuji dodělat ještě zjištování data a vepisování do XML souboru jenomže nevím jak a kam .... scipt má více funkcí ... jako upload automaticky a upload ručně (kolonky pro zadání velikosti, MD5, popisu a všeho ručně), tak potřebuji obohatit ten automatický systém jenomže v tomto scriptu se neorientuju ... prosím pomoc ....
Script vypadá takto:
<?php
if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME']))
{
Header("Location: ../index.php");
die();
}
if (empty($func)) $func="upload";
$verbose_queries=0;
function DownloadSize($size) {
$sizes = Array(' B', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB');
$ext = $sizes[0];
for ($i=1; (($i < count($sizes)) && ($size >= 1024)); $i++) {
$size = $size / 1024;
$ext = $sizes[$i];
}
return round($size, 2).$ext;
}
function validate_numbers_nospace($dl_sort){
return preg_match('/^[0-9]+$/',$dl_sort);
}
if (array_key_exists('par', $_GET)) $par = intval($_GET['par']);
if (array_key_exists('func', $_GET)) $func=$_GET['func'];
?>
<?php
$yesno_arr = array(
"no" => "No",
"yes" => "Yes"
);
$rank_value_arr = array(
"0" => "0",
"1" => "1",
"2" => "2",
"3" => "3",
"4" => "4",
"5" => "5",
"6" => "6",
"7" => "7",
"8" => "8",
"9" => "9",
"10" => "10"
);
?>
<?php /********** Upload *****************************************************/
if (isset($func) && $func == "upload"): ?>
<h3>File upload</h3>
<form action="index.php?page=uploader&func=save" method="post" enctype="multipart/form-data">
Select a file to upload:<br />
<input type="file" name="file" size="50">
<br />
Select a screenshot to upload:<br />
<input type="file" name="imgs" size="50">
<br />
<input type="submit" value="Upload File(s)">
</form>
<? endif ?>
<?php
/********** Save *****************************************************/
if (isset($func) && $func == "save"):
/***** Download Location Grab *****/
$sql = "SELECT dl_location_image, dl_location_s FROM cws_advanced_settings";
$sql_result = mysql_query($sql,$connection) or die ("Couldnt execute query - Getting the Download Folder location failed");
$row = mysql_fetch_array($sql_result);
$dl_location_s = $row["dl_location_s"];
$dl_location_i = $row["dl_location_image"];
$file_type = $_FILES['file']['type'];
$file_name = $_FILES['file']['name'];
$file_temp = $_FILES['file']['tmp_name'];
$ErrCode = array("0: Unknown Error", "1: The uploaded file exceeds the maximum upload size", "2: The uploaded file exceeds the maximum upload size", "3: The uploaded file was only partially uploaded", "4: No file was uploaded", "5", "6: Missing a temporary folder" );
$ext = strtoupper(substr(strrchr($file_name, "."), 1));
If ($ext == "PHP" || $ext == "PHP4" || $ext == "PHP5" || $ext == "PHTML" || $ext == "PHPS") die("Illegal File Type");
If (!copy($file_temp, "./$dl_location_s/$file_name"))
{
If (!$_FILES['file']['error']) die("<br /><br /><br>Error processing file. Please ensure file size does not exceed Max Post Size.");
else die("<br /><br /><br>Could not copy file <b>$file_name</b><br>Error #" . $ErrCode[$_FILES['file']['error']]);
}
//$imgs_type = $_FILES['imgs']['type'];
$imgs_name = $_FILES['imgs']['name'];
$imgs_temp = $_FILES['imgs']['tmp_name'];
$ext = strtoupper(substr(strrchr($imgs_name, "."), 1));
If ($ext == "JPG" || $ext == "JPEG" || $ext == "BMP" || $ext == "GIF" || $ext == "TIFF" || $ext == "TNG")
//If (($_FILES['imgs']['type']=="image/gif") || ($_FILES['imgs']['type']=="image/pjpeg") || ($_FILES['imgs']['type']=="image/jpeg"))
{
If (!copy($imgs_temp, "./$dl_location_i/$imgs_name"))
{
If (!$_FILES['imgs']['error']) echo("<br /><br /><br>Error processing image. Please ensure file size does not exceed Max Post Size.");
else echo("<br /><br /><br>Could not copy image <b>$imgs_name</b><br>Error #" . $ErrCode[$_FILES['imgs']['error']]);
$imgs_name="";
}
}
else
{
echo("<br /><br /><br>Image not specified or incorrect file type. Image must be JPEG / GIF / BMP / TIFF / TNG.");
$imgs_name="";
}
?>
<h3 align="center">File upload succeeded...</h3>
<div align="center">
<table width="17%" height="79" border="0" cellpadding="2" cellspacing="3">
<tr valign="middle">
<td align="right">Sent:</td>
<td align="left"><?php echo "$file_name"; ?>
</td>
</tr>
<tr valign="middle">
<td height="23" align="right">Size:</td>
<td align="left">
<?php
$filesize = DownloadSize($_FILES['file']['size']);
echo "$filesize";
?>
</td>
</tr>
<tr valign="middle">
<td height="23" align="right">Type:</td>
<td align="left"><?php echo "$file_type"; ?></td>
</tr>
</table>
<p><a href="<?php echo "$dl_location_s/$file_name" ?>" target='_blank'>Test File Download</a></p><br /><br /><br />
</div>
<?php
echo "<center><H4>Add New Download to List</H4><small>* = Must be filled out</small>";
$dl_name="$file_name";
$dl_url="";
$dl_image=$imgs_name;
$dl_file_type="$file_type";
$dl_file_size="$filesize";
$dl_order="";
$dl_sort="";
$dl_desc="";
$login_req="No";
$dl_category="Downloads";
$user="$member_id";
echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."?page=uploader&func=storenew\" METHOD=POST>";
echo "<TABLE BORDER=0 CELLPADDING=6>";
//******************************** DL_NAME (stand)
echo "<TR><TD ALIGN=RIGHT VALIGN=MIDDLE><B>Title: * </TD><TD VALIGN=MIDDLE>";
echo "<INPUT NAME=dl_name SIZE=30 MAXLENGTH=250 VALUE=\"$dl_name\"><br /><small>(max 250) You can change this to any title you want</small></TD></TR>";
//******************************** DL_IMAGE (stand)
echo "<TR><TD ALIGN=RIGHT VALIGN=MIDDLE><B>Screenshot Filename: </TD><TD VALIGN=MIDDLE>";
echo "<INPUT name=dl_image SIZE=30 MAXLENGTH=250 VALUE=\"$dl_image\"><br /><small>(max 250) You can change this to any file name you want</small></TD></TR>";
//******************************** DL_DESC (text)
echo "<TR><TD ALIGN=LEFT VALIGN=TOP COLSPAN=2><B><center>Description: *</center>";
echo "<center><TEXTAREA NAME=dl_desc COLS=50 ROWS=10>$dl_desc</TEXTAREA></center></TD></TR>";
//******************************** CAT_NAME (list)
echo "<tr><td ALIGN=RIGHT VALIGN=MIDDLE><b>Download Group: *</td><TD VALIGN=MIDDLE>";
//**** Phpclanwebsite List Element - Select List Category
$sql2 = "SELECT * FROM cws_downloads_cat ORDER BY cat_sort ASC";
$sql_result2 = mysql_query($sql2,$connection) or die ("Couldnt execute query");
//format results by row
echo "<SELECT NAME=cat_name SINGLE>";
while ($row2 = mysql_fetch_array($sql_result2)) {
$cat_name = htmlspecialchars($row2["cat_name"]);
$cat_id = htmlspecialchars($row2["cat_id"]);
ECHO "<OPTION VALUE=$cat_id>$cat_name</OPTION>";
}
echo "</SELECT> $req_form</TD></TR>";
//********************************* Member Only Download (List)
echo "<TR><TD ALIGN=RIGHT VALIGN=MIDDLE><B>Member Only Download: *</TD><TD VALIGN=MIDDLE>";
echo "<SELECT NAME=login_req SINGLE>";
array2select($yesno_arr,$login_req);
echo "</SELECT></TD></TR>";
//******************************** Rank Level (List)
echo "<TR><TD ALIGN=RIGHT VALIGN=MIDDLE><B>Rank Access Value: </TD><TD VALIGN=MIDDLE>";
echo "<SELECT NAME=mem_rank SINGLE>";
array2select($rank_value_arr,$mem_rank);
echo "</SELECT> Required when \"Member Only Download\" is YES</TD></TR>";
//******************************** DL_ORDER (stand)
echo "<TR><TD ALIGN=RIGHT VALIGN=MIDDLE><B>Sort Order: *</TD><TD VALIGN=MIDDLE>";
echo "<INPUT NAME=dl_sort SIZE=15 MAXLENGTH=15 VALUE='1'></TD></TR>";
//******************************** DL_URL (Hidden)
echo "<INPUT TYPE='hidden' NAME=dl_url VALUE='$dl_location_s/$file_name'></TD></TR>";
//******************************** File_Type (Hidden)
echo "<INPUT TYPE='hidden' NAME=dl_file_type VALUE='$dl_file_type'></TD></TR>";
//******************************** File_Size (Hidden)
echo "<INPUT TYPE='hidden' NAME=dl_file_size VALUE='$dl_file_size'></TD></TR>";
//******************************** DL_CATEGORY (Hidden)
echo "<INPUT TYPE='hidden' NAME=dl_category VALUE='$dl_category'></TD></TR>";
//******************************** Added By (Hidden)
echo "<INPUT TYPE='hidden' NAME=user VALUE='$user'></TD></TR>";
//******************************** md5 checksum (Hidden)
$path = "$dl_location_s/$file_name";
$dl_md5 = md5_file ("$path");
echo "<INPUT TYPE='hidden' NAME=dl_md5 VALUE='$dl_md5'></TD></TR>";
echo "</TABLE>";
echo "<INPUT TYPE=submit NAME='Save' VALUE='Save'> ";
if ($func == "new"):
echo "<INPUT TYPE=reset VALUE='Clear all fields'>";
endif;
echo "</FORM>";
mysql_free_result($sql_result2);
endif; /* New/edit */
?>
<?php
/********** Store New **************************************************/
if (isset($func) && $func == "storenew"):
//*** Check data
$ok = 1;
echo "<TABLE BORDER=0>";
$fields = "";
$values = "";
$dl_name=$_POST['dl_name'];
$dl_name=chop($dl_name);
if ($dl_name == "") {
$ok = 0;
echo "Name - must be specified !<br />";
} else {
$fields .= ",dl_name";
$values.=",'$dl_name'";
}
$dl_image=$_POST['dl_image'];
$dl_image=chop($dl_image);
$fields.=",dl_image";
$values.=",'$dl_image'";
$dl_desc=$_POST['dl_desc'];
$dl_desc=chop($dl_desc);
if ($dl_desc == "") {
$ok = 0;
echo "Description - must be specified !<br />";
} else {
$fields .= ",dl_desc";
$values.=",'$dl_desc'";
}
$cat_name=$_POST['cat_name'];
$cat_name=chop($cat_name);
if ($cat_name == "") {
$ok = 0;
echo "Download Category - must be specified !<br />";
} else {
$fields .= ",cat_name";
$values.=",'$cat_name'";
}
$mem_rank=$_POST['mem_rank'];
$mem_rank=chop($mem_rank);
if ($mem_rank == "") {
$ok = 0;
echo "Member Rank Level - must be specified !<br />";
} else {
$fields .= ",mem_rank";
$values.=",'$mem_rank'";
}
$login_req=$_POST['login_req'];
$login_req=chop($login_req);
if ($login_req == "") {
$ok = 0;
echo "Login Required - must be specified !<br />";
} else {
$fields .= ",login_req";
$values.=",'$login_req'";
}
$dl_sort=$_POST['dl_sort'];
$dl_sort=chop($dl_sort);
if (validate_numbers_nospace($dl_sort)){
$fields .= ",dl_sort";
$values.=",'$dl_sort'";
} else {
$ok = 0;
echo "Sort Field - Sort Field must be numerical (Numbers) Characters only with no spaces !<br />";
}
$dl_url=$_POST['dl_url'];
$dl_url=chop($dl_url);
if ($dl_url == "") {
$ok = 0;
echo "Url - must be specified !<br />";
} else {
$fields .= ",dl_url";
$values.=",'$dl_url'";
}
$dl_file_type=$_POST['dl_file_type'];
$dl_file_type=chop($dl_file_type);
if ($dl_file_type == "") {
$ok = 0;
echo "File Type - must be specified !<br />";
} else {
$fields .= ",dl_file_type";
$values.=",'$dl_file_type'";
}
$dl_file_size=$_POST['dl_file_size'];
$dl_file_size=chop($dl_file_size);
if ($dl_file_size == "") {
$ok = 0;
echo "File Size - must be specified !<br />";
} else {
$fields .= ",dl_file_size";
$values.=",'$dl_file_size'";
}
$dl_category=$_POST['dl_category'];
$dl_category=chop($dl_category);
if ($dl_category == "") {
$ok = 0;
echo "Category - must be specified !<br />";
} else {
$fields .= ",dl_category";
$values.=",'$dl_category'";
}
$user=$_POST['user'];
$user=chop($user);
if ($user == "") {
$ok = 0;
echo "Added by User - ERROR<BR>";
} else {
$fields .= ",user";
$values.=",'$user'";
}
$dl_md5=$_POST['dl_md5'];
$dl_md5=chop($dl_md5);
if ($dl_md5 == "") {
$ok = 0;
echo "MD5 Checksum on File Name - ERROR<BR>";
} else {
$fields .= ",dl_md5";
$values.=",'$dl_md5'";
}
echo "</TABLE>";
if (!$ok):
echo "Error!";
echo "<br /><A HREF=javascript:history.back()>Try again</A>";
exit;
endif;
$fields = substr($fields,1,strlen($fields)-1);
$values = substr($values,1,strlen($values)-1);
$result = mysqlquery("$mysql_database","INSERT INTO cws_downloads ($fields) VALUES ($values)");
if (!empty($result)) {
callback_js2("index.php?page=downloads");
} else {
echo mysql_error()."<br />\n";
}
mysql_free_result($result);
endif;
?>

