Anzeige

zu blöd zum Programmieren?

zu blöd zum Programmieren? | PSD-Tutorials.de

Erstellt von darthfly, 23.12.2010.

  1. darthfly

    darthfly Nicht mehr ganz neu hier

    Dabei seit:
    03.02.2010
    Beiträge:
    61
    Geschlecht:
    männlich
    zu blöd zum Programmieren?
    PHP:
    1.  
    2. 58: $start=$_POST['filepath'];
    3. 59: $ziel=$_POST['filepath'];
    4. 60: $lokale_datei= "C:\Users\DarthFly\Documents\";
    5. 61: $lokale_datei.=$start;
    6. 62: $zieldatei = "dateien/";
    7. 63: $zieldatei.=$ziel;
    Da kommt folgender Fehler:
    Parse error: syntax error, unexpected T_STRING in C:\mike\xamp\xampp\htdocs\portal\sicher\upload.php on line 62
    Wenn ich den Code allerdings abändere in
    PHP:
    1.  
    2. 58: $start=$_POST['filepath'];
    3. 59: $ziel=$_POST['filepath'];
    4. 60:
    5. 61: $lokale_datei.=$start;
    6. 62: $zieldatei = "dateien/";
    7. 63: $zieldatei.=$ziel;
    [/PHP]
    Dann ist der Fehler weg.

    ich seh den Wald vor lauter Bäumen wohl nicht mehr. Was ist der Fehler?
     
    #1      
  2. Doitsu

    Doitsu Aktives Mitglied

    Dabei seit:
    15.04.2009
    Beiträge:
    482
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    Durch den Backslash am Ende von Zeile 60 wird das " maskiert ~> Der String wird nicht richtig beendet, sieht man aber auch am Syntaxhighlighting, solltest dir u.U. ein Editor zulegen der so was unterstuetzt.

    Edit: Loesung waere den Backslash ebenfalls zu maskieren ~> \\"
     
    #2      
  3. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    Hi,

    hier dürfte dein Bug liegen, wenn nicht zuvor die Variable bereits definiert wurde:
    $lokale_datei.=$start;

    Der Fehler wird in die darauffolgende Zeile projeziert, weil letztlich kein eigentl. Fehler vorhanden ist. Es ist eben möglicherweise nur nicht $lokale_datei definiert und drauf referenziert per .=
     
    #3      
  4. darthfly

    darthfly Nicht mehr ganz neu hier

    Dabei seit:
    03.02.2010
    Beiträge:
    61
    Geschlecht:
    männlich
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    Also das mit den // werde ich mal probieren.
    Der . vor dem = bedeutet in php:
    Nehme das was in der Variabel schon drin steht, und hänge das nach dem = hinten dran.
    Z.Deutsch
    PHP:
    1.  
    2. $test="a";
    3. $test.="+b";
    4. echo $test
    Als Ausgabe erscheint dann
    a+b
     
    #4      
  5. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    Ist mir schon bewusst, wobei ich die erste Variable davon in rot nicht direkt gesehen habe. Letztlich ist der Fehler per / und zuvor wird \ verwendet. Besser wäre hier: $_SERVER['DOCUMENT_ROOT'] anstatt den path direkt zu schreiben.

    Lass dir $_SERVER['DOCUMENT_ROOT'] einmal in deinem script per echo ausgeben und spiele damit ein wenig. Wirst du hinbekommen ;)
     
    #5      
  6. darthfly

    darthfly Nicht mehr ganz neu hier

    Dabei seit:
    03.02.2010
    Beiträge:
    61
    Geschlecht:
    männlich
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    ich weiß nicht, wie lange ich erfolglos versucht habe, Firefox den pfad der Datei rauszukitzeln, unter IE klappte es ohne probleme. Das das ganze auf nem lokalem Server arbeitet, ergibt $_SERVER['DOCUMENT_ROOT'] nicht das Verzeichniss der Ausgewählten Datei, sondern den des PHP servers. Da sich das Verzeichniss eh nicht ändert sondern immer gleich bleibt, hab ich es in den Code geschrieben. Kann ja eh keiner was mit anfangen.
    ich hab die Zeile geädnert in
    PHP:
    1. 60: $lokale_datei= "C:\\Users\\DarthFly\\Documents\\";
    Und jetzt klappt es. Danle für eure Hilfe
     
    #6      
  7. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    zu blöd zum Programmieren?
    AW: zu blöd zum Programmieren?

    Das mag zwar so sein, ändert allerdings nichts daran, dass es nicht läuft und wenn es auf den Server kommt auch nicht mehr passt. Ergo:

    PHP:
    1.  
    2. <?php
    3. define('ROOT', $_SERVER['DOCUMENT_ROOT'] .'/'); // home
    4. define('LOCAL_FILES', ROOT .'dateien/'); // files
    5.  
    6. $lokale_dateien = ROOT . LOCAL_FILES;
    7. echo $lokale_dateien;
    8. ?>
    9.  
    Damit kommt jeder Browser klar, zumal das ganze nicht daran liegt, das der Browser nicht klar kommt, sondern möglicherweise das Verzeichnis grundsätzlich nicht simmt oder zumindest der path darhin.
     
    #7      
x
×
×