Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Bild upload -> Dateinamen in Datenbank schreiben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Bild upload -> Dateinamen in Datenbank schreiben


 
Scolex
27-01-2005, 19:00 
 
Hallo,
mag für viele ein simples Prob sein, finde aber keine einfache Lösung und zwar lade ich ein Bild mittels folgendem Script in einen Ordner hoch:


if( is_uploaded_file( $_FILES['upload']['tmp_name'] ) )
{
move_uploaded_file( $_FILES['upload']['tmp_name'],
"../angebotsbilder/" . $_FILES['upload']['name'] );
}

Funktioniert auch wunderbar...

Gleichzeitig trage ich den Bildpfad eine Datenbank ein. Jedoch wird da der temporäre Pfad (E:\PHP\uploadtemp\phpFC.tmp) eingetragen und nicht der original Dateinamen (E:\xxx\xxx\bild.jpg) .

Wie kann ich das am einfachsten lösen, daß anstatt der tmp-Datei der original Name bild.jpg in die Datenbank eingetragen wird!?

THXby TobiaZ: Bohr ist so n Umbruch schwer!!!

 
TobiaZ
27-01-2005, 19:10 
 
Jedoch wird da der temporäre Pfad (E:\PHP\uploadtemp\phpFC.tmp) eingetragen und nicht der original Dateinamen (E:\xxx\xxx\bild.jpg) Natürlich! An den Original-Pad kommst du auch mit PHP nicht dran!

Wie kann ich das am einfachsten lösen, daß anstatt der tmp-Datei der original Name bild.jpg in die Datenbank eingetragen wird!? Mit RTFM!!! :teach: guck bei den Fileuploads!

 
Scolex
27-01-2005, 23:18 
 
Ähhhm, was bedeutet

RTFM???

Hab gerade im manual gesucht aber da finde ich nix!

Den Originalpfad steht doch dann in meinem Textfeld wenn ich den mit


<form enctype="multipart/form-data" action="angbildupload.php" method="post" name="form">
<input name="uploadalt" type="file" id="upload">
</form>


hochlade!?
Wieso kann ich den Pfad dann nicht irgendwie weiter benutzen!?

THX

 
asp2php
28-01-2005, 09:21 
 
Original geschrieben von Scolex
Ähhhm, was bedeutet

RTFM???
Read The F*cking Manual

Wieso kann ich den Pfad dann nicht irgendwie weiter benutzen!?

Wo läuft PHP? Auf dem Server
Wo befindet sich der orig. Pfad deiner Datei? Auf deinem PC, also auf dem Client.

Wenn PHP auf deinem PC zugreifen könnte, könnte man/der Webprogger auch alle deine Daten saugen, oder deine HD formatieren, oder ...

Also denk mal scharf nach ;), was nützt dir denn den lokalen Pfad beim Client, wenn PHP garnicht drauf zugreifen kann. Was mußt du also in die DB anstatt den temp. Pfad eintragen? Tipp: schau dir move_uploaded_file mal an.

 
Scolex
31-01-2005, 14:01 
 
Also im Moment läuft PHP auf dem localhost.
Der original Pfad befindet sich beim Client!

Mir ist es ehrlich gesagt nicht ganz klar. Hab in der Referenz auch move_uploaded_file angeschaut und probiere jetzt auch schon ewig rum. Funzt aber leider nicht wie ich möchte...

Hat irgendwer ein erfolgversprechendes Tutorial dafür, bevor ich euch hier noch länger nerve!?

 
asp2php
31-01-2005, 14:08 
 
seufz, gründlich lesen kannst du auch nicht, oder? dieser Link: http://de3.php.net/manual/en/features.file-upload.php steht auch dabei, warum klickst du nicht drauf?

 
philippCH
31-01-2005, 17:24 
 
Nur weil du PHP auf deinem PC laufen hast, brauchst du noch lange nicht den lokalen Pfad speichern. In dem Augenblick, in dem du auf deinen "Upload-Button" klickst ist das sch*iss egal wie der lokale Pfad mal geheissen hat. Du bist zwar physisch noch immer auf deinem PC, aber logisch könnte der irgendwo in Timbuktu stehen. Und PHP weis ja nicht, von wo der Upload kommt.

Was du in die DB schreiben willst/musst ist also nicht der lokale Pfad, sondern der Pfad zu dem du die Datei nach dem Uplaod auf dem Server kopierst. Wenn also dein move_uploaded_file korrekt funktioniert, dann brauchst du ja nur genau diesen Pfad in die DB zu klopfen. Und das solltest du nun wirklich hinkriegen... Sogar ich hab das ja geschafft ;)

Gruss
Philipp


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:37 Uhr.