CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
08.07.2009, 23:47:32
|
Anfänger
|
|
Registriert seit: Jul 2009
Alter: 41
Beiträge: 3
|
|
Uploadscript - resize - in 2 Größen und Ordner
Hiho,
ich hab ein Uploadscript mit resize, watermark und Preview Funktion, funktioniert auch alles einwandfrei.
Nun möchte ich das gleiche Script so umschreiben, das es ein hochgeladenes Bild in zwei unterschiedlichen Größen in 2 unterschiedlichen Ordnern speichert.
Hier mal meine 3 grundlegenden PHP Dateien.
index.php
PHP-Code:
<?php
error_reporting(E_ALL);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Horst it! Bildupload</title>
<style type="text/css">
body {
font-family:Tahoma;
font-size:12px;
}
</style>
<script language="JavaScript" type="text/javascript">
var ie = !!document.all;
function copy(textfeld){
if (ie) {
textfeld.select();
cbBuffer=textfeld.createTextRange();
cbBuffer.execCommand('Copy');
}
}
</script>
</head>
<body bgcolor="#ffffff" style="background-image: url(http://www.arachnovobica.de/spinnenrad/horst-premium/mainmain.jpg); background-attachment:fixed;" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<?php
include("include/config.inc.php");
$upped = false;
//überprüft sozusagen, ob das formular abgesendet wurde unb bild kleiner ist
if(count($_FILES) > 0)
{
if($_FILES['pic']['size'] > 0 AND $_FILES['pic']['size'] < $config['maxsize'])
{
//überprüfung der dateitypen
if($_FILES['pic']['type'] == "image/jpg" OR $_FILES['pic']['type'] == "image/jpeg" OR $_FILES['pic']['type'] == "image/pjpeg" OR $_FILES['pic']['type'] == "image/gif" OR $_FILES['pic']['type'] == "image/png" OR $_FILES['pic']['type'] == "image/x-png")
{
//timestamp vor name, so kann keine datei überschrieben werden
$filename = time().$_FILES['pic']['name'];
//datei nach verzeichnis verschieben
if(move_uploaded_file($_FILES['pic']['tmp_name'], $config['folder'].$filename))
{
$upped = true;
}
//datei konnte nicht verschoben werden
else
{
echo "<font color='red'>Fehler beim hochladen des Bildes!</font><pre>";
//error switchen
switch($_FILES['pic']['error'])
{
//Fehlernummern wie sie auf php.net setehen
case 1:
echo "Die Datei überschreitet die Maximale Dateigröße die in der php.ini festgelegt wurde!";
break;
case 2:
echo "Die Datei überschreitet die Maximale Dateigröße die im Formular festgelegt wurde!";
break;
case 3:
echo "Die Datei wurde nur teilweise hochgeladen!";
break;
case 4:
echo "Es wurde keine Datei hochgeladen!";
break;
}
echo "</pre>";
}
}
//falscher typ
else
{
echo "<font color='red'>Sie dürfen nur jpg, jpeg, gif oder png Bilder hochladen! (".$_FILES['pic']['type'].")</font>";
}
}
//überprüft, ob das bild hochgeladen aber zu groß ist
elseif($_FILES['pic']['size'] > 0 AND $_FILES['pic']['size'] > $config['maxsize'])
{
echo "<font color='red'>Die maximale Dateigröße beträgt ".round($config['maxsize'] / 1024 / 1024, 2)." MB!</font><hr />";
}
}
?>
Maximale Dateigröße: <?= round($config['maxsize'] / 1024 / 1024, 2); ?> MB.<br />
Erlaubte Dateitypen: jpg, jpeg, gif, png<br />
<form method="post" action="index.php" enctype="multipart/form-data">
<input type="file" name="pic" size="60" value="Bild suchen" /><br />
<br />
<input type="submit" value="Horst it Premium!" />
<br />
<center></center><? if($upped) {
echo "BBCode für Foren:<br /><textarea cols=60 rows=5 name=text readonly=readonly>[url=http://www.spiderwheel.com/horst-premium/".$config['folder'].$filename."][img]http://www.spiderwheel.com/horst-premium/".$config['folder2'].$filename."[/img][/url]</textarea><br />"; ?>
<input type="button" value="Kopieren (nur IE)" name="cmdCopy" onClick="copy(this.form.text)" /><br />
<?
echo "<img src='imageThumb.php?folder=".$config['folder2']."&filename=".$filename."&quality=".$config['quality']."' /><br /><br /"; }
?></center>
</form>
</body>
</html>
imageThumb.php
PHP-Code:
<?php
header("Content-Type: image/jpeg");
$folder = $_GET['folder'];
$datei = $folder.$_GET['filename'];
$daten = getimagesize($datei);
$orgb = $daten[0];
$orgh = $daten[1];
$thumbb = 1024;
$f = $daten[0] / $thumbb;
$thumbh = $daten[1] / $f;
$wasserzeichen = ImageCreateFromPNG("watermark.png");
if($daten[2] == 1)
{
$orgbild = ImageCreateFromGIF($datei);
$thumb = ImageCreate($thumbb, $thumbh);
ImageCopyResampled($thumb, $orgbild, 0, 0, 0, 0, $thumbb, $thumbh, $orgb, $orgh);
$black = imagecolorallocate($thumb, 0,0,0);
imagecolorset($thumb, $black, 255,255,255);
ImageJPEG($thumb, $datei, $_GET['quality']);
$bild = imagecreatefromjpeg($datei);
imagecopyresampled($bild, $wasserzeichen, ($thumbb-150), ($thumbh-150), 0, 0, 1024, $thumbh, 1024, $thumbh);
imageJPEG($bild, $datei, $_GET['quality']);
imageJPEG($bild);
}
elseif($daten[2] == 2)
{
$orgbild = ImageCreateFromJPEG($datei);
$thumb = ImageCreateTrueColor($thumbb, $thumbh);
ImageCopyResampled($thumb, $orgbild, 0, 0, 0, 0, $thumbb, $thumbh, $orgb, $orgh);
ImageJPEG($thumb, $datei, $_GET['quality']);
$bild = imagecreatefromjpeg($datei);
imagecopyresampled($bild, $wasserzeichen, ($thumbb-150), ($thumbh-150), 0, 0, 1024, $thumbh, 1024, $thumbh);
imageJPEG($bild, $datei, $_GET['quality']);
imageJPEG($bild);
}
elseif($daten[2] == 3)
{
$orgbild = ImageCreateFromPNG($datei);
$thumb = ImageCreate($thumbb, $thumbh);
imagealphablending($thumb, false);
ImageCopyResampled($thumb, $orgbild, 0, 0, 0, 0, $thumbb, $thumbh, $orgb, $orgh);
imagesavealpha($thumb, true);
imagefill($thumb, 0, 0, imagecolorallocatealpha($thumb, 255, 255, 255, 127));
ImagePNG($thumb, $datei);
$bild = imagecreatefrompng($datei);
imagealphablending($wasserzeichen, false);
imagecopyresampled($bild, $wasserzeichen, ($thumbb-150), ($thumbh-150), 0, 0, 1024, $thumbh, 1024, $thumbh);
imagesavealpha($wasserzeichen, true);
imagefill($wasserzeichen, 0, 0, imagecolorallocatealpha($wasserzeichen, 255, 255, 255, 127));
imagePNG($bild, $datei);
imagePNG($bild);
}
include("http://www.spiderwheel.com/horst-premium/imageThumb2.php");
?>
included config.inc.php
PHP-Code:
<?php
/*
Bildupload Script
für ArachnoVobicA
von Webzeile (2009)
*/
$config['folder'] = "uploads/"; //dahin kommen die bilder
$config['quality'] = 75; //qualität des JPG bildes
$config['maxsize'] = 6291456 // größe in bytes
?>
Wie muss ich nun welche Datei umschreiben, damit das hochgeladene Bild in einen zweiten Uploadordner hochgeladen wird und zwar in einer bestimmten Größe, ähnlich wie es in der imageThumb.php geschieht.
Das Script soll ein Uploadscript für ein Forum werden, die BBCode ausgabe nach dem Upload soll dann einen Bildlink enthalten der vom kleinen Bild, direkt auf das größere verlinkt.
Ich hab absolut keinen Plan von PHP, wenn irgendwer Ahnung hätte wäre ich unendlich dankbar.
MfG
Micha
|
09.07.2009, 16:00:43
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Uploadscript - resize - in 2 Größen und Ordner
Zitat:
Zitat von ArachnoVobicA
Nun möchte ich das gleiche Script so umschreiben [...]
|
versus
Zitat:
Zitat von ArachnoVobicA
Ich hab absolut keinen Plan von PHP, wenn irgendwer Ahnung hätte wäre ich unendlich dankbar.
|
damit wirst du hier nicht weiterkommen - hier gibts hilfe zur selbsthilfe. ansonsten empfehle ich dir, einen entsprechenden dienstleister in anspruch zu nehmen oder eine geeignete skriptbörse zu suchen.
cx
|
09.07.2009, 18:12:59
|
Anfänger
|
|
Registriert seit: Jul 2009
Alter: 41
Beiträge: 3
|
|
AW: Uploadscript - resize - in 2 Größen und Ordner
Hiho,
ich hab ja auch schon einige Sachen probiert und bin auch gerne lernfähig.
Allerdings erschließt sich mir noch nicht alles so ganz.
So hab ich versucht in die config.inc.php einen zweiten upload Ordner zu definieren und eine zweite imageThumb.php zu erstellen, diese dann am Ende der ersten zu includen,
aber er wendet es trotzdem nicht an.
MfG
Micha
|
09.07.2009, 19:12:19
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Uploadscript - resize - in 2 Größen und Ordner
Zitat:
Zitat von ArachnoVobicA
PHP-Code:
/* Bildupload Script für ArachnoVobicA von Webzeile (2009) */
|
punkt c unserer forenregeln:
Zitat:
Wende Dich zuerst an den Autor [...]
|
cx
Geändert von cortex (09.07.2009 um 19:13:15 Uhr)
|
09.07.2009, 22:28:15
|
Anfänger
|
|
Registriert seit: Jul 2009
Alter: 41
Beiträge: 3
|
|
AW: Uploadscript - resize - in 2 Größen und Ordner
Hiho,
hab ich schon, von ihm kam der Vorschlag mit der included 2ten imageThumb.php, außerdem sitzt er bis Ende Juli im Urlaub ohne Internet.
Trotzdem Danke für Eure Mühe.
MfG
Micha
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:43:55 Uhr.
|