php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-02-2008, 14:30
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Superglobal/ $_FILES Wert auslesen

Hallo !

Ich habe ein Problem und fummle schon seit gestern dran rum.
Hab schon denke ich nahezu alles mögliche probiert und auch hier im forum nichts passendes dazu gefunden.
Und zwar:
Ich baster gerade einen Dateiuploader.
Die Datei verschiebe ich mittels move_uploaded_files und dem array $_files auf den server. das klapt auch ganz gut.

Das Problem ist, das ich den hochgeladenen Dateinamen gerne ausgeben möchte, woran ich zur zeit scheiter. Das hindert mich nun daran die datei umzubenennen, da mit der dateiname eben fehlt.
bei jeglicher ausgabe ob mit einer schleife oder nicht, bekomme ich immer den wert array zurück.

entweder hab ich es mit den arrays nicht so ganz verstanden oder ich komme auf die wahrscheinlich so simple lösung wegen eines denkfehlers gerade nicht.

so schaut das ganze aus:




PHP-Code:

if (move_uploaded_file   ($_FILES['userfile']['tmp_name'],    $uploaddir $_FILES['userfile']['name'])   )
        {
            echo 
"Die Datei wurde erfolgreich hochgeladen:->" ;
            
            
// JETZT HABE ICH HIER DAS PROBLEM
            // Hab schon mehrere möglichkeiten versucht

echo $_FILES['username'];

// sowie
            
            
$_SESSION['start']    =    "$_FILES";
            echo 
$_SESSION['start'];

// auch mit ner schleife klappt das net. 
hoffe ihr könnt helfen.
Mit Zitat antworten
  #2 (permalink)  
Alt 02-02-2008, 14:36
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://de3.php.net/manual/en/features.file-upload.php
Mit Zitat antworten
  #3 (permalink)  
Alt 02-02-2008, 14:40
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

omg.vielen dank.
kann zwar kein englisch, aber hab verstanden was ich machen muss.

nun hab ich dann dazu nochmal eine frage.
wieso setzt sich das array dann aus 2 [][] zusammen?

danke schonmal
Mit Zitat antworten
  #4 (permalink)  
Alt 02-02-2008, 14:45
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann eben deutsch http://de3.php.net/manual/de/features.file-upload.php

Ähm ... verstehe nicht was du meinst
Mit Zitat antworten
  #5 (permalink)  
Alt 02-02-2008, 15:32
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ähm ok, hat sich erledigt..das deutsche war schon recht verstänndlich *hehe

jetzt hab ich aber noch ein problem.

wenn die datei hochgeladen wurde, bennent er sie um. das ist ok.
wenn ich die gleiche nochmal hochlade, wird diese hochgelden ohne
zumzubenennen und bekomme ein fehlermeldung das diese existiert.

ich versuche gerade die fehlermeldung abzufangen mit einer if anweisung.
das klappt aber nicht wirklich.
hoffe ihr könnt nochmal helfen und evtl. sagen was ich falsch gemacht habe.


PHP-Code:
if (move_uploaded_file   ($_FILES['userfile']['tmp_name'],    
$uploaddir $_FILES['userfile']['name'])   )
        {
            echo 
"Die Datei wurde erfolgreich hochgeladen:->" ;
            
            
//echo $_FILES['userfile']['name'];
            
            
            
$filename $_FILES['userfile']['name'];
            
$username =    "test";
            
            
            if (
file_exists($uploaddir/$username.$filename))
            {
                echo 
"wurde schonmal hochgeladen";
            }
            
rename("$filename""$username.$filename");
            echo 
$filename;
            
            


            
        }
        
// ->Andernfalls Fehler ausgeben
        
else 
        {
            echo 
"Fehler beim hochladen";
            
        } 
Mit Zitat antworten
  #6 (permalink)  
Alt 02-02-2008, 16:06
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wieso kann ich nicht anhand

PHP-Code:
if (file_exists$uploaddir/$username.$filename ))
            {
                echo 
"error";
            }
            
rename("$filename""$username.$filename"); 
überprüfen ob die datei bereits existiert.
da kommt immer eine fehlermeldung.
das ist so, als ob er garnicht in den if block springt. ???!!!

Fehlermeldung:

Warning: Division by zero in C:\xampp\htdocs\test\up.php on line 46
error
Mit Zitat antworten
  #7 (permalink)  
Alt 02-02-2008, 16:48
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Informier dich über den richtigen Umgang mit Strings und Variablen:
PHP-Code:
if ( file_exists $uploaddir '/' $username $filename ) ) {
...
rename $filename$username $filename ); 
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #8 (permalink)  
Alt 02-02-2008, 18:04
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

alles klar. vielen dank. wieder was dazugelernt.
Mit Zitat antworten
  #9 (permalink)  
Alt 02-02-2008, 19:51
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich brauch nochmal hilfe, sry..

@tontechniker, ich habe das so probiert, aber da scheint das gleiche ergebnis zu sein.egal, ich hab mir diese variante jetzt angewöhnt.
dasproblem besteht immer noch.

vermutlich raucht mir gerade der kopf zu stark.

also, alles funktioniert, bis auf das überprüfen ob die datei schon umbenannt wurde.

ich weiß jetzt nicht wie ich überprüfe ob die datei schon umbenannt wurde oder nicht.
das soll folgendermaßen funktionieren:

ist die datei vorhanden -> lade nicht hoch und benenne nicht um:

ist die datei nicht vorhanden -> lade hoch und benenne um

aber ich bekomme das mit dem if else block nicht richtig hin.
könnt ihr mir noch enien tipp geben bitte?

PHP-Code:
if (move_uploaded_file   ($_FILES['userfile']['tmp_name'],    $uploaddir $_FILES['userfile']['name'])   )
        {
            
            
$filename $_FILES['userfile']['name'];
            
$error $_FILES['userfile']['error'];
            
$username =    "test";
            
            
rename("$filename""$username.$filename");

            echo 
"Die Datei wurde erfolgreich hochgeladen und umbenannt:<br>" ;
            
            
            
            
            
            
            
            
        } 
beim ersten durchlauf ist allesok. beim zweiten kommt das die
fehlermeldung:

Warning: rename(ich14.jpg,test.ich14.jpg) [function.rename]:
File exists in C:\xampp\htdocs\test\up.php on line 43
Die Datei wurde erfolgreich hochgeladen und umbenannt:

aber wenn man aktualisiert, soll die datei nicht nochmal hcohgeladen werden.
Mit Zitat antworten
  #10 (permalink)  
Alt 02-02-2008, 20:19
chrissi11
 Registrierter Benutzer
Links : Onlinestatus : chrissi11 ist offline
Registriert seit: Jan 2008
Beiträge: 70
chrissi11 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich werd noch wahnsinnig.
habe jetzt das versucht und bin mit meiner logig jetzt am ende.
weiß nicht wie ich weiter vorgehen soll:
bitte um hilfe



PHP-Code:

if (!@is_uploaded_file($FILES['userfile']['tmp_name']))
        {
        
        echo 
"schon vorhanden";
        
        }
        else 
        {
            if (
move_uploaded_file   ($_FILES['userfile']['tmp_name'],    $uploaddir $_FILES['userfile']['name'])   )
            
            
rename("$filename""$username.$filename");

            echo 
"Die Datei wurde erfolgreich hochgeladen und umbenannt:<br>" ;
        { 
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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.

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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 Uhr.