php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2005, 18:50  
Gast
 
Beiträge: n/a
Standard Suche Bilderupload mit Textfunktion!

Hallo!
Ich programiere zwar schon ein bissl mit PHP aber meine Schwester hat mich an meine Grenze gebracht! unglücklich unglücklich
Also für ihre kleine Homepage wollte sie ein bilderupload.!
Eigentlich ganz einfach, sie wollte aber, das auch ein text unter jedem Bild steht.

Also wenn ich das richtig verstanden habe wünscht sie sich soetwas:

Eine ihre freundinnen (Besucher) kann unter Angabe des Namens... und der e-mail ein Bild und einen text uploaden. Der wird dann auf einer bestimmten Url gezeigt! (Bild oben, Text darunter)
Wie kann ich soetwas realisieren?

Kann mir jemand helfen?

mfg felix
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.05.2005, 19:14  
CSS
Erfahrener Benutzer
 
Registriert seit: 04.12.2004
Beiträge: 324
CSS
Standard

Naja, du erstellst eine Datenbank. Am besten SQLite, da ja fast keine Daten gespeichert werden. In der Datenbank hast du 3 Spalten:
comment und filename und userid
In comment speicherst du den Kommentar des Besuchers, in filename den Namen (nicht die Datei!!) des Fotos und in userid eine eindeutige id. So, jetzt schreibst du dir ein Upload-Script. Speicherst den Dateinamen in der Spalte filename, den Kommentar in comment und in userid speicherst du die id des Nutzers der das Bild hochgeladen hat. Das Bild speicherst du in iregendeinem Ordner z.B. images.

Jetzt noch ein Login Script, dazu legst du eine neue Tabelle an:
username, password, id

Das Feld id bezieht sich auf das Feld userid in der anderen Tabelle. Hat sich der Nutzer eingeloggt, lass ihn auswählen was er tun möchte: Upload oder Bilder ansehen. Jetzt einen Join und nachsehen welche Fotos dem User gehören, also wo id mit userid übereinstimmt. Diese auslesen, den Dateinamen hast du ja in der Tabelle gespeichert. Das wars auch schon.

Statt der id könntest du auch einfach nur für jeden Nutzer eine eigenen Ordner anlegen, in dem seine Fotos gespeichert sind. Wird wahrscheinlich sogar schneller sein.

Aber achtung! Das bietet keine Sicherheit, denn eigentlich kann jeder, der den Namen des Ordner und die des Bildes kennt die Bilder ansehen.
Wenn du absolute Sicherheit willst, so musst du das Bild in einer MySQL-Tabelle (BLOB) speichern. Ein wenig Sicherheit könntest du damit erreich in dem du dem Ordner gleich dem Passwort benennst. Die Bilder nach ihrer md5()-Checksumme etc. Naja, sollte nur ein kleiner Denkanstoß sein...

MfG CSS
CSS ist offline  
Alt 09.05.2005, 00:04  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

@spiter:
Wo ist eigentlich Dein Problem?

- Kriegst Du keinen Bilderupload hin?
=> Nimm einfach eines der 100000 Themen in diesem Forum zu dem gleichen Thema. Suchbegriff = Dateiupload

- Kriegst Du die Bilder hin, aber keinen Text?
=> Füge einfach zu dem Feld mit dem Dateinamen in dem Formular noch ein textarea für die Beschreibung hinzu.

- Kriegst Du die Bilder nicht gespeichert?
=> Suche nach Dateiupload

- Kriegst Du die Daten nicht in eine DB?
=> Hier im Forum nach einem passenden Tutorial suchen.

-> Kriegst Du die Daten nicht mehr als der DB raus?
=> Hier im Forum nach einem passenden Tutorial suchen.

- Keine Ahnung von nix?
=> Zweites Posting im Anfänger-Forum durchlesen und auch den Links nachgehen.

- Problem bei ....?
=> ???

Hellsehen ist nicht unsere Stärke.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 09.05.2005, 17:56  
Gast
 
Beiträge: n/a
Standard

Hallo!

Also ich habe diesen Script der Dateien (Bilder) hochladet!
__________
<?php
$extlimit = "yes";
$limitedext = array(".gif",".jpg",".png",".jpeg");
$sizelimit = "yes";
$sizebytes = "100000"; //size in bytes
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}

elseif (file_exists("images/$bilddatei_name")) {
echo "Die Bilddateiname existiert bereits. Bitte aendere die Bilddateiname und versuche es nochmal.";
}

else{
copy($bilddatei,"images/".$bilddatei_name);

$newtext = stripslashes($newtext);
$newtext = ereg_replace("\r\n","
",$newtext);
$newtext = ereg_replace("\n","
",$newtext);

$filetxt = "images/".$bilddatei_name.".txt";

$datatxt = fopen($filetxt, "w");
fputs($datatxt, $newtext);
fclose($datatxt);

echo "
OK, die Datei ".$bilddatei_name." wurde erfolgreich hochgeladen.
";

echo "
<img src=\"images/".$bilddatei_name."\" border=\"0\">
";
include "images/".$bilddatei_name.".txt";
echo "

";


}


} //ende von if($bilddatei!= "")
} // ende von if($senden)
// im form-tag muss unbedingt enctype="multipart/form-data" enthalten sein!
//



?>






<form name="mf" action="" method="post" enctype="multipart/form-data">
Bild:
<input type='file' name='bilddatei' value='durchsuchen'>


Text zum Bild:

<textarea name="newtext" cols="52" rows="4" wrap="VIRTUAL"></textarea>


OK:
<input type='submit' name='senden' value='Bild hochladen'>
</form>





_____________________________________

Nun muss ich das so umstellen, dass man zusätzlich dann noch eine "fest"adresse bekommt wo ich das Bild mit dem text anzeigen lassen kann! Also für alle abrufbar ist!

Wie soll ich das anstellen?

mfg Felix
 
Alt 09.05.2005, 18:29  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Nun ja, als erstes könntest du damit anfangen dein Quelltext vernünftig zu formatieren und selbigen dann nochmals eingeschlossen in PHP-Tags nochmals zu posten.

Desweiteren sollte du wenigstens in der Lage sein, ein Formularfeld auszuwerten.
http://php-faq.de/q/q-formular-textarea.html

Dann nur noch das Bild mit dem Text verbinden und fertig ist das Ganze.
DiBo33 ist offline  
Alt 09.05.2005, 19:40  
Gast
 
Beiträge: n/a
Standard

Hi!
Danke erstmal für eure Antworten!
Ich möchte meine das die Daten (Foto,Bild) nacher als html (odere andere Formate) Seite ausgegeben werden mit einer festen Adreesse die angezeigt wird und dynamishc erzeugt wird!
Wie:
Dein bild und den text kanst du unter www.domain.de/012555.html abrufen!


mfg felix
 
Alt 10.05.2005, 10:30  
Gast
 
Beiträge: n/a
Standard

Hi!
Also ich habe jetzt den Script :
Aber der hat noch fehler die ich nicht finde:
Wer kann Helfen? Bitte!

__________________
<?php
$extlimit = "yes";
$limitedext = array(".gif",".jpg",".png",".jpeg");
$sizelimit = "yes";
$sizebytes = "100000"; //size in bytes
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}

elseif (file_exists("images/$bilddatei_name")) {
echo "Die Bilddateiname existiert bereits. Bitte aendere die Bilddateiname und versuche es nochmal.";
}

else{
copy($bilddatei,"images/".$bilddatei_name);

$newtext = stripslashes($newtext);
$newtext = ereg_replace("\r\n","
",$newtext);
$newtext = ereg_replace("\n","
",$newtext);

$filetxt = "images/".$bilddatei_name.".txt";

$datatxt = fopen($filetxt, "w");
fputs($datatxt, $newtext);
fclose($datatxt);

echo "
OK, die Datei ".$bilddatei_name." wurde erfolgreich hochgeladen.
";

echo "
<img src=\"images/".$bilddatei_name."\" border=\"0\">
";
include "images/".$bilddatei_name.".txt";
echo "

";

if (!isset($_POST['save']))
{
echo 'speichernformular';
}
else
{
$content='<html><body>[img]'.$bilddatei_name.'[/img]
'.$bilddatei_name.'</body></html>';
$file='images/'.$bilddatei_name.'.html';
$filehandler=fopen($file,"w+");
fwrite($filehandler,$content);
fclose($filehandler);
chmod($file, 0644);
echo 'File angelegt. Hier ansehen';
}
//endif-else ($_POST['save'])

}


} //ende von if($bilddatei!= "")
} // ende von if($senden)
// im form-tag muss unbedingt enctype="multipart/form-data" enthalten sein!
//



?>






<form name="mf" action="" method="post" enctype="multipart/form-data">
Bild:
<input type='file' name='bilddatei' value='durchsuchen'>


Text zum Bild:

<textarea name="newtext" cols="52" rows="4" wrap="VIRTUAL"></textarea>


OK:
<input type='submit' name='senden' value='Bild hochladen'>
</form>





_____________________________________________

Die fehlermeldung lautet immer :

_________________
Warning: copy(images/page6.gif): failed to open stream: Permission denied in /var/www/web48/html/luckysms/bilder/bild.php on line 21

Warning: fopen(images/page6.gif.txt): failed to open stream: Permission denied in /var/www/web48/html/luckysms/bilder/bild.php on line 29

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/web48/html/luckysms/bilder/bild.php on line 30

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/web48/html/luckysms/bilder/bild.php on line 31

OK, die Datei page6.gif wurde erfolgreich hochgeladen.



Warning: main(images/page6.gif.txt): failed to open stream: No such file or directory in /var/www/web48/html/luckysms/bilder/bild.php on line 36

Warning: main(): Failed opening 'images/page6.gif.txt' for inclusion (include_path='.') in /var/www/web48/html/luckysms/bilder/bild.php on line 36


speichernformular

Bild:
Text zum Bild:

OK:

____________________________-

Wer kann helfen??

mfg Felix
 
Alt 10.05.2005, 10:35  
Gast
 
Beiträge: n/a
Standard

ohne php tags in diesem forum wirst du ned weit kommen......
da antwortet dir hier keiner....
 
Alt 10.05.2005, 10:37  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

1. Nimm PHP-Tags!
2. Rücke den Schrott ordentlich ein!
3. Markiere Zeilen, die in Fehlermeldungen genannt wurden durch Kommentare.

So liest kein Mensch den Code durch!

4. Was hat denn die Forumssuche nach "Permission denied" so alles ergeben? Mit welchem Teil der Ergebnisse hast Du ein Problem?
5. "Not a valid resource" ist ein Folgefehler, weil Du Dich nicht um das Ergebnis von fopen() kümmerst.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 10.05.2005, 12:19  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
$extlimit 
"yes";
$limitedext = array(".gif",".jpg",".png",".jpeg");
$sizelimit "yes";
$sizebytes "100000"//size in bytes
if($senden){
if(
$bilddatei!= "") {
if ((
$sizelimit == "yes") && ($bilddatei_size $sizebytes)) {
echo 
"Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext strrchr($bilddatei_name,'.');
if ((
$extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo 
"Die Bilddateiname hat nicht die richtige Endung.";
}

elseif (
file_exists("images/$bilddatei_name")) {
echo 
"Die Bilddateiname existiert bereits. Bitte aendere die Bilddateiname und versuche es nochmal.";
}

else{
copy($bilddatei,"images/".$bilddatei_name);

$newtext stripslashes($newtext);
$newtext ereg_replace("\r\n","
"
,$newtext);
$newtext ereg_replace("\n","
"
,$newtext);

$filetxt "images/".$bilddatei_name.".txt";

$datatxt fopen($filetxt"w");
fputs($datatxt$newtext);
fclose($datatxt);

echo 
"
OK, die Datei "
.$bilddatei_name." wurde erfolgreich hochgeladen.
"
;

echo 
"
<img src=\"images/"
.$bilddatei_name."\" border=\"0\">
"
;
include 
"images/".$bilddatei_name.".txt";
echo 
"

"
;

if (!isset(
$_POST['save']))
{
echo 
'speichernformular';
}
else
{
$content='<html><body>[img]'.$bilddatei_name.'[/img]
'
.$bilddatei_name.'</body></html>';
$file='images/'.$bilddatei_name.'.html';
$filehandler=fopen($file,"w+");
fwrite($filehandler,$content);
fclose($filehandler);
chmod($file0644);
echo 
'File angelegt. Hier [url="images/'.$bilddatei_name.'.html"]ansehen[/url]';
}
//endif-else ($_POST['save'])

}


//ende von if($bilddatei!= "")
// ende von if($senden)
// im form-tag muss unbedingt enctype="multipart/form-data" enthalten sein!
//



?>

Meint ihr das so??

mfg Felix[/code]
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verbesserungsvorschläge: Design und Suche Manko10 Board-Support 3 15.06.2008 16:21
Suche 'strahlfreudigen' Router nikosch Off-Topic Diskussionen 6 22.01.2008 19:06
Suche in Office Dateien mit Index Beatbox Off-Topic Diskussionen 6 09.02.2007 15:34
Suche Alienuser PHP Tipps 2006 5 02.07.2006 16:31
suche funktion: suche alles zwischen notyyy PHP Tipps 2006 7 05.06.2006 20:46
[Erledigt] Erweiterung der Suche PHP Tipps 2007 2 01.12.2005 19:30
Suche in Datenbank realisieren Unbekanntes_Pferd PHP Tipps 2007 4 09.11.2005 16:22
suche lösungsweg für komplexe suche, md5hash PHP Tipps 2005-2 3 19.07.2005 17:57
stichwort suche boehseronkel Datenbanken 2 14.07.2005 09:28
mal wieder eine suche lomtas Datenbanken 0 12.07.2005 11:03
Suche Job als Entwickler/Designer (Raum Bonn o. Telearbeit) Beitragsarchiv 23 01.03.2005 14:00
Suche mehrere Images........ Beitragsarchiv 7 10.01.2005 08:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
textfunktion photos

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.