magnetic_water
New member
Halihallo, ich habe mir aus verschiedenen Scripten ein Upload-Script zusammengebastelt, welches jedoch nicht gänzlich funktioniert.
Der zufällig gernerierte Dateiname wird nicht in der Datenbank gespeichert.
Der ganze Code:
So siehts aus: -zensiert wegen Suchmaschinen...-
Der zufällig gernerierte Dateiname wird nicht in der Datenbank gespeichert.
Der ganze Code:
PHP:
<?php
error_reporting(E_ALL);
$aMessages = array();
$sUploadDir = '-zensiert-'; // upload-Verzeichnis relativ zu dieser Datei, Slash am Ende nicht vergessen, CHMOD Rechte setzen! (zB 0755)
// Generate a random password
function generatePW($length=8)
{
$dummy = array_merge(range('0', '9'), range('a', 'z'), array('_'));
// shuffle array
mt_srand((double)microtime()*1000000);
for ($i = 1; $i <= (count($dummy)*2); $i++)
{
$swap = mt_rand(0,count($dummy)-1);
$tmp = $dummy[$swap];
$dummy[$swap] = $dummy[0];
$dummy[0] = $tmp;
}
// get password
return substr(implode('',$dummy),0,$length);
}
if(array_key_exists('upload', $_FILES) && is_array($_FILES["upload"]))
{
$sPathinfo = pathinfo($_FILES['upload']['name']);
$sExtension = $sPathinfo['extension'];
$aDenyExtensions = array('gif', 'png', 'jpg', 'jpeg', 'GIF', 'PNG', 'JPG', 'JPEG'); // erlaubte Dateiendungen
$myname = generatePW(10).".".$sExtension;
global $myname;
/*$if_pfad= "/".$sUploadDir.$myname;
if (similar_file_exists($if_pfad)==true){
$myname = generatePW(10).".".$sExtension;
}*/
if (!in_array($sExtension, $aDenyExtensions)){
$aMessages[] = 'Die Datei hat eine nicht erlaubte Dateiendung. Erlaubt sind: GIF-, PNG-, JPG- sowie JPEG-Dateien.';
}
else if (!isset($_POST['dateiname']) && $_POST['dateiname'] == ""){
$aMessages[] = 'Bitte der Datei einen Namen geben.';
}
else if (!move_uploaded_file($_FILES['upload']['tmp_name'], $sUploadDir.$myname)){
$aMessages[] = sprintf('Die Datei konnte <span style="text-decoration:underline">nicht</span> hochgeladen werden - Fehlercode <a href="http://de.php.net/manual/de/features.file-upload.errors.php">%u</a>.', $_FILES['upload']['error']);
//die('Die Datei konnte <span style="text-decoration:underline">nicht</span> hochgeladen werden');
} else {
//--------------------<MySQL>
include('-zensiert-');
$dateiname = str_replace(' ', "",$_POST['dateiname']);
$sql = "INSERT INTO `-zensiert-` (
`-zensiert-` ,
`-zensiert-` ,
`-zensiert-` ,
`-zensiert-` ,
`-zensiert-`
)
VALUES (
NULL , '$myname', '$dateiname',
CURRENT_TIMESTAMP , '0'
);";
$ergebnis = mysql_query($sql) or die("<b>Schwerwiegender MySQL-Fehler:</b>.\n<br />
Query: " . $sql . "<br />\nError: (" . mysql_errno() . ") " . mysql_error());
//-------------------</MySQL>
$aMessages[] = 'Die Datei wurde hochgeladen.';
}
} else{
if(isset($_POST["hidden"])) $aMessages[] = 'fehler';
}
$bildergalerie = 1;
$titel = "Ohmoorziegen - Bilder hochladen...";
include ("../includes/specialheader.php");
print '<h1>Bilder hochladen</h1>';
if(count($aMessages)>0){
print"<ul>";
foreach ($aMessages as $sMessage) {
echo"<li>". $sMessage ."</li>";
}
print"</ul>";
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="upload" type="file" /> <br /><br />
<span style="font-style:italic;float:left;">Name des Bildes (Leerzeichen werden ersetzt):*<input type="text" name="dateiname"/></span><br /><br />
<input type="submit" value="Hochladen" style="clear:all" />
<input type="hidden" name="hidden" />
</form>
</div>
<div id="footer" style="clear:both;">
-zensiert-
</div>
</body>
</html>
So siehts aus: -zensiert wegen Suchmaschinen...-
Zuletzt bearbeitet: