online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon rotte vom 09.05.2019, 16:32 Options

Bilder und PHP

Hallo,
Bei einen Comunities im Internet gibt es die Möglichkeit, nach dem Erstellen eines Accounts ein Benutzerbild hochzuladen.
Ich weiß, wie ich das mithilfe eines Formulars mache und die Bilder auf dem Server speichere.
Ist es möglich die Bilder, die vom user hochgeladen werden, zu verkleiner, umzubenennen oder es sogar automatisch zu bearbeiten?
(Mit bearbeiten meine ich, das Bild beispielsweise von farbe nach schwarz-weiß zu färben, oder in eine Ecke des Bildes die Adresse der Homepage zu schreiben.)

Ich hoffe mir kann jemand helfen!

Mfg. rotte


Antwort schreiben

Antwort 1 von MixMax vom 09.05.2019, 16:37 Options

entweder du lädst alle bilder runter und machst das selber per software (z.B. Batchverarbeitung in Irfanview)

oder es geht nicht ohne serverscripts...

du könntest das Bild natürlich noch mit Text überlegen indem du per HTML einen Layer über das Bild legst - das kann aber bei manchen Browsern dann zu falschdarstellung der ganzen Seite mit Bild führen.

Antwort 2 von Nessus vom 10.05.2019, 18:24 Options

Hi,

Serverseitig bietet PHP einige Möglichkeiten.
Ich poste einfach mal ein Script das ich mal vor einiger Zeit erstellt hatte:
<?php
require("./dbconn.inc.php");
$pfad="/www/Pfad/zum/imageordner/";
  if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) {
    move_uploaded_file($_FILES['probe']['tmp_name'], $_FILES['probe']['name']);
     }
// ********  file nicht erlaubt ************
$file_ending = explode(".", $_FILES['probe']['name']);
$file_ending[1] = strtoupper($file_ending[1]);
if  (!($file_ending[1] == "JPEG") && (!($file_ending[1] == "JPG")))
{
unlink($_FILES['probe']['name']);
header("Location:http://www.blabla/admin/index.php?bildup=3&bild=$BILD&ort=$ort");
die();
}
// Grafik verkleinern---------------------------------------------------------------------------- //
$tstamp = time();
$BILD = $_FILES['probe']['name'];
$test =time();
$BILD1 = "$pfad/$ort/$test$BILD";
$quali = '100';
// ---------------------------------------------------------------------------- //
function bild_resize($altes_bild, $neues_bild, $stufe, $quali) {
//Bildbreite
$bildbreite =400;


    // altes Bild
    $im1 = imageCreateFromJPEG($altes_bild);
    $bb = imageSX($im1);
    $hh = imageSY($im1);
	$nn=$bb/$bildbreite;
	$tt=$hh/$nn;

    // neues Bild
    $im2 = ImageCreateTrueColor($bildbreite, $tt );
	
    imagecopyresized($im2, $im1, 0, 0, 0, 0, $bildbreite,$tt, $bb, $hh);

    // bild erstellen
$rr= $tt-10;
imagettftext($im2, 10, 0, 100, $rr, $font_c, "./fonts/arial.ttf", "text fürs bild"); 
imagejpeg ($im2, $neues_bild, $quali);

    // speicher freigeben
    imageDestroy($im1);
    imageDestroy($im2);
    }

bild_resize($BILD, $BILD1, $skalierung, $quali);
//Temp löschen

unlink($_FILES['probe']['name']);

//Bildername in DB eintragen

$BILD= "$test$BILD";
mysql_connect($host,$user,$password)
   or die("Abbruch: Verbindung zu '$host'"
         ." konnte nicht hergestellt werden.");
mysql_select_db($database)
   or die("Abbruch: Datenbank '$database' konnte nicht"
         ." selektiert werden.<br><br>MySQL sagt: ".mysql_error());

$query    = "INSERT INTO `bilder` (`ort`,`bild`) VALUES ('".$ort."','".$BILD."')";
mysql_query($query);

$sql    = "INSERT INTO `infoxml` (`file`,`short`,`long`,`verzeichnis`) VALUES ('".$BILD."','".$short."','".$long."','".$ort."')";
mysql_query($sql);
//XML-Datei erstellen
$datei=fopen("$pfad$ort/info.xml","w+");
$query2= "SELECT `infoxml`.`file`, `infoxml`.`short`, `infoxml`.`long` FROM infoxml WHERE (`infoxml`.`verzeichnis` ='$ort')";
$result = @mysql_query($query2);
fputs($datei,"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n");
fputs($datei,"	<photoit>\n");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    fputs($datei,"		<info file=\"".$row['file']."\">\n");
    fputs($datei,"		<short>".$row['short']."</short>\n");
    fputs($datei,"		<long>".$row['long']."</long>\n");
    fputs($datei,"	</info>\n");
}
fputs($datei,"</photo>\n");
fclose($datei);
//XML
header("Location:http://www.blabla/admin/index.php?bildup=1&bild=$BILD&ort=$ort");

?>

Antwort 3 von Nessus vom 10.05.2019, 18:27 Options

Dieses kleine Programm macht folgendes:
1. Upload der Datei
2. Testen der Datei auf Gültigkeit
3. Grafik verkleinern
4. Text einfügen
5. In ein bestimmtes Verzeichnis speichern
6. Dateiname in eine Datenbank legen
7. XML-Datei mit Übergabewerten erstellen und abspeichern.

Nehme einfach raus was du benötigst.

HTH

Nessus

Antwort 4 von rotte vom 11.05.2019, 14:44 Options

Danke!
Hat mir sehr geholfen.

Ähnliche Themen

VBA: Eine Variable in einem String
Oli00  23.03.2007 - 91 Hits - 2 Antworten

Problem mit PhP
Firefighter-nb  16.04.2007 - 149 Hits - 1 Antwort

Bilder-löschen script PHP
mirwald  21.06.2007 - 112 Hits -

Animierte Bilder
FlyDie  31.12.2007 - 157 Hits -

Eigene Bilder
wiese  05.05.2008 - 88 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026