Hiho^^
Ich benutze gerade folgendes Script:
PHP-Code:
<?php
include('config.php');
?>
<html>
<head>
<title>Bildhoster</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel='shortcut icon' href='favicon.ico'>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/documentation.js" type="text/javascript"></script>
<script src="js/jquery.form.js" type="text/javascript" language="javascript"></script>
<script src="js/jquery.MetaData.js" type="text/javascript" language="javascript"></script>
<script src="js/jquery.MultiFile.js" type="text/javascript" language="javascript"></script>
<script src="js/jquery.blockUI.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript" language="javascript">
function feldhinzu(div) {
document.getElementById(div).innerHTML += '<input type ="file" name="upload[]"><br>';
}
</script>
</head>
<body bgcolor='#0A0A0A' background=''>
<br />
<br />
<table width="500" border='0' align="center" style="text-align:center;" bgcolor='#606060'>
<tr><td>
<br><br>
<?php
$divd = 1024;
$isize = $max_size / $divd;
$isize2 = round($isize);
?>
Wählen sie ein Bild aus um es Hochzuladen<br>
Maximale Größe <?php echo $isize2;?> KB<br><br>
Bildformate: jpg jpeg bmp png gif
<form method="post" enctype="multipart/form-data" action="basic.php">
<?php if(stristr($_SERVER['HTTP_USER_AGENT'], 'Opera')) {
echo '<input type="file" name="upload[]">'.
'<div id="dv">'.
'</div>'.
'<a onClick="feldhinzu(\'dv\');">Feld mehr!</a>';
} else { ?>
<input type="file" class="multi" name="upload[]" accept="gif|jpg|jpeg|png|bmp"/>
<?php } ?>
<input type="submit" value="Upload" name="upload">
</form>
<br><br>
</td></tr>
</table>
</div>
</body>
</html>
PHP-Code:
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="styles.css">
<script type="text/javascript">
<!--
function highlight(field)
{
field.focus();
field.select();
}
//-->
</script>
<title>Bildhoster</title>
</head>
<body bgcolor="#0A0A0A" background=''>
<div>
<center>
<?
include "config.php";
//create thumbnails
function createthumb($name,$filename,$new_w,$new_h) {
$system=explode('.',$name);
if (preg_match('/jpg|jpeg|JPG/',$system[1])) {
$src_img=imagecreatefromjpeg($name);
}
if (preg_match('/png|PNG/',$system[1])) {
$src_img=imagecreatefrompng($name);
}
if (preg_match('/gif|GIF/',$system[1])) {
$src_img=imagecreatefromgif($name);
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if (preg_match("/png/",$system[1])) {
imagepng($dst_img,$filename);
}
if (preg_match("/gif/",$system[1])) {
imagegif($dst_img,$filename);
}
else {
imagejpeg($dst_img,$filename);
}
imagedestroy($dst_img);
imagedestroy($src_img);
}
// if(!$_POST['ext_url']) {
foreach($_FILES["upload"]["name"] as $key => $value) {
if(($_FILES['upload']['type'][$key] == 'image/pjpeg' ||
$_FILES['upload']['type'][$key] == 'image/jpeg' ||
$_FILES['upload']['type'][$key] == 'image/gif' ||
$_FILES['upload']['type'][$key] == 'image/jpg' ||
$_FILES['upload']['type'][$key] == 'image/png' ||
$_FILES['upload']['type'][$key] == 'image/x-png')) {
// generate random signs
$zufall = rand(1,9);
$zufall2 = rand(1,26);
$buchstaben = array( "1" => "arx",
"2" => "opt",
"3" => "bwy",
"4" => "cqs",
"5" => "viu",
"6" => "rgh",
"7" => "jdv",
"8" => "klz",
"9" => "bfi", );
$buchstaben2 = array( "1" => "a",
"2" => "b",
"3" => "c",
"4" => "d",
"5" => "e",
"6" => "f",
"7" => "g",
"8" => "h",
"9" => "i",
"10" => "j",
"11" => "k",
"12" => "l",
"13" => "m",
"14" => "n",
"15" => "o",
"16" => "p",
"17" => "q",
"18" => "r",
"19" => "s",
"20" => "t",
"21" => "u",
"22" => "v",
"23" => "w",
"24" => "x",
"25" => "y",
"26" => "z", );
$unikat = $buchstaben[$zufall] . time() . $buchstaben2[$zufall2];
switch ($_FILES['upload']['type'][$key]) {
case 'image/pjpeg':
$format = '.jpg';
break;
case 'image/jpeg':
$format = '.jpg';
break;
case 'image/gif':
$format = '.gif';
break;
case 'image/jpg':
$format = '.jpg';
break;
case 'image/png':
$format = '.png';
break;
case 'image/x-png':
$format = '.png';
break;
}
// Zeitstempel festhalten
$time_var=time();
$file_tmp=$_FILES['upload']['tmp_name'][$key];
$file_new=''.$path.$unikat.$format.'';
// Bild hochladen
move_uploaded_file($file_tmp,$file_new);
// Rechte setzen
// chmod($file_new, 777);
//set url variables
$imgf = $unikat.$format;
$thbf = $tpath.$imgf;
$urlf = 'http://' .$domain .'/' .$path.$imgf;
if ($groesse = filesize($path . $imgf) > $max_size) {
unlink($path . $imgf);
exit('Zu große Datei! ('.$groesse.')');
}
createthumb($path.$imgf,$tpath.$imgf,$tsize,$tsize);
?>
<table border='0' bgcolor='#303030'>
<tr><td>Vorschau:</td><td><a href='<?php echo $urlf; ?>'><img src='<?php echo $thbf.$img ?>'></a></td></tr>
<tr><td>Direktlink:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="<?php echo $urlf; ?>"></td></tr>
<tr><td>BBCode:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="[IMG]<?php echo $urlf; ?>[/IMG]"></td></tr>
<tr><td>Mit Spoiler:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="[SPOILER=Bild anzeigen][IMG]<?php echo $urlf; ?>[/IMG][/SPOILER]"></td></tr>
</table>
<br />
<br />
<?php
}
}
$ext_url_count = 1;
while(isset($_POST['ext_url_'.$ext_url_count]) &&
!empty($_POST['ext_url_'.$ext_url_count])) {
$url = $_POST['ext_url_'.$ext_url_count];
$new_unikat = $unikat;
while($unikat == $new_unikat) {
$new_unikat = 'uni'.md5($_POST['ext_url_'.$ext_url_count].time());
}
$unikat = $new_unikat;
$ext_url_count++;
function getHost($Address) {
$parseUrl = parse_url(trim($Address));
return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2)));
}
if (getHost($url) == 'anisearch.de' || getHost($url) == 'www.anisearch.de') {
$url = substr($url, 0, -13);
}
$format = strtolower(strstr(basename($url), '.'));
//$format = strrev(strtolower(strstr(strrev(basename($url))), '.', true)); Ab PHP Version 5.3.x einfach auskommentieren :-)
if ($format != '.jpg' AND $format != '.jpeg' AND $format != '.gif' AND $format != '.png') {
// exit('Kein gültiges Bild-Format! ('.$format.')');
continue;
}
$output = $unikat . $format;
$fp = fopen($url, "r");
if(is_resource($fp)) {
$i=1;
for(;$i<$max_size;$i++) {
if(!feof($fp)) {
$text.= fgets($fp, $i);
}
else { break; }
}
fclose($fp);
} else {
continue;
}
$fp2 = fopen($output,"w+");
if(is_resource($fp2)) {
fwrite($fp2, $text);
fclose($fp2);
} else {
continue;
}
copy($output, "./" . $path . $output);
unlink($output);
//größe überprüfen
if ($groesse = filesize($path . $output) > $max_size) {
unlink($path . $output);
exit($groesse);
}
//set url variables
$imgf = $output;
$thbf = $tpath.$imgf;
$urlf = 'http://' .$domain .'/' .$path .$imgf;
chmod("./" . $path . $imgf,0400);
createthumb($path.$imgf,$tpath.$imgf,$tsize,$tsize);
?>
<table border='0' bgcolor='#606060'>
<tr><td>Vorschau:</td><td><a href='<?php echo $urlf; ?>'><img src='<?php echo $thbf ?>'></a></td></tr>
<tr><td>Direktlink:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="<?php echo $urlf; ?>"></td></tr>
<tr><td>BBCode:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="[IMG]<?php echo $urlf; ?>[/IMG]"></td></tr>
<tr><td>Mit Spoiler:</td><td><input type="text" name="thetext" onClick='highlight(this);' size="120" value="[SPOILER=Bild anzeigen][IMG]<?php echo $urlf; ?>[/IMG][/SPOILER]"></td></tr>
</table>
<br><br>
<?php
}
?>
<a href='./index.php'>zurück</a>
</center>
</div>
</body>
</html>
Ich hab es schon viel umgebaut, allerdings ohne wirkliche Ahnung von PHP. Deshalb sieht es wahrscheinlich etwas murksig aus xD
Naja, ich brauche ein paar neue Funktionen und komme mit rumgebastle nicht weiter..
Deshalb suche ich jemanden der mir das Script erweitern/umschreiben/neu schreiben kann!
Folgendes soll es können:
-Mehrere Bilder auf einmal hochladen. Nicht nur mehrere Uploadfelder, sondern, dass man mehrere Bilder mit einem klick hochladen kann wie bei imageshack zB. Ordner oder Archive(zip, 7z, rar usw) hochladen zu können wäre auch cool, aber es sollte nich zu kompliziert mit Java oder Flash oder so werden, ich möchte immer gern noch alles nachvollziehn können..
-Von URL hochladen, irgendwie hab ich das mal rausgenommen und weiß nich mehr wie ichs wieder rein krieg xD
-Absicherung gegen Upload von nicht-bild-dateien, zB. mit
getimagesize. Und chmod iwi, das man keine Dateien ausführen kann..
-Eine Ausgabe die alle hochgeladenen Bilder zusammenfasst, also das unter den ganzen Bildern zb noch ein Feld ist das Links zb so ausgibt:
Code:
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild1.jpg[/IMG][/SPOILER]
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild2.jpg[/IMG][/SPOILER]
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild3.jpg[/IMG][/SPOILER]
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild4.jpg[/IMG][/SPOILER]
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild5.jpg[/IMG][/SPOILER]
Das Format sollte anpassbar sein, das etwa auch sowas möglich ist:
Code:
1
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild1.jpg[/IMG][/SPOILER]
2
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild2.jpg[/IMG][/SPOILER]
3
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild3.jpg[/IMG][/SPOILER]
4
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild4.jpg[/IMG][/SPOILER]
5
[SPOILER=Bild anzeigen][IMG]www.url.de/bilder/bild5.jpg[/IMG][/SPOILER]
oder
[SPOILER=Bilder anzeigen]1
[IMG]www.url.de/bilder/bild1.jpg[/IMG]
2
[IMG]www.url.de/bilder/bild2.jpg[/IMG]
3
[IMG]www.url.de/bilder/bild3.jpg[/IMG]
4
[IMG]www.url.de/bilder/bild4.jpg[/IMG]
5
[IMG]www.url.de/bilder/bild5.jpg[/IMG][/SPOILER]
-Uploadfortschritt (Fortschrittsbalken). Der Upload bricht oft ohne Fehlermeldung ab! Eine Fortschrittsanzeige soll das Problem beheben hab ich gelesen, vlt liegt es auch woanders dran?
Wenn mir das jemand alles einbaun und den Code etwas auf Vordermann bringen könnte, wär ich ihm sehr dankbar xD
Natürlich bin ich auch bereit dafür zu zahlen, müsst ihr ma schreiben wie so die preislichen Vorstellungen sind :3
Ich bastel auch gerne selber und lerne gern dazu, wenn ihr Tutorials oder Ideen habt wie ich das einbauen kann, immer her damit^^