mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 20.01.2019 17:45 Benutzername: Passwort: Auto-Login

Thema: php problem mit ../ vom 31.05.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> php problem mit ../
Autor Nachricht
zero-dragon
Threadersteller

Dabei seit: 30.05.2009
Ort: -
Alter: 29
Geschlecht: -
Verfasst So 31.05.2009 17:00
Titel

php problem mit ../

Antworten mit Zitat Zum Seitenanfang

hi @ all

habe nur eine kurze Fraage, und zwar:
Ich bin dabei eine Fotogalerie für eine gute Freundin zu erstellen, die dann auch auf ihr Seite kommt.
Nun habe ich ein Upload Script reingestellt welches ein großes bild und ein Thumb auf den Server läd.
Bei der Pfadangabe habe ich dann
Code:
$img_ordner="../big/portrait/";
angegeben, nur versteht der anscheinend die Pfandangabe ../ nicht...

http://www.php-space.info/bilder-upload-script/

dann wollte ich durch eine flash galerie die bilder aus diesem Ordner nehmen und dann darstellen lassen...
Da ist aber das sele Problem
Code:
$path = stripslashes($_POST["../assets/"]);//"songs/";//Pfadangabe des Ordners

dass die Galerie den Ordner wegen dem ../ nicht findet

http://www.flashforum.de/forum/showthread.php?t=270814

ich hoffe so, dass ihr Rat wisst...

LG,
Mika
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 31.05.2009 17:48
Titel

Antworten mit Zitat Zum Seitenanfang

Sieht zwar generell komisch aus, was du da machst. Vor allem das mit dem Post-array. Was du aber generell tun kannst, wenn du einen relativen Pfad ausgehend von deiner Script-Datei in einen absoluten umwandeln möchtest:

Code:
$path = dirname(__FILE__) . '/../path/zur/datei';
  View user's profile Private Nachricht senden
Anzeige
Anzeige
zero-dragon
Threadersteller

Dabei seit: 30.05.2009
Ort: -
Alter: 29
Geschlecht: -
Verfasst So 31.05.2009 18:20
Titel

Antworten mit Zitat Zum Seitenanfang

bacon hat geschrieben:
Sieht zwar generell komisch aus, was du da machst. Vor allem das mit dem Post-array. Was du aber generell tun kannst, wenn du einen relativen Pfad ausgehend von deiner Script-Datei in einen absoluten umwandeln möchtest:

Code:
$path = dirname(__FILE__) . '/../path/zur/datei';


naja, deshalb habe ich ja die Links zu den Daten mit reingeschrieben...
Dein Vorschlag finktioniert leider auch nicht *Schnief*

da sind auf jeden fall 2 daten gegeben (flash galarie)

Code:
<?php
   $path = stripslashes($_POST["../assets/"]);//"songs/";//Pfadangabe des Ordners
   //$path = "assets/images/small/";
   $handle = opendir ($path);//oeffnen des Ordners
      
   while ($file = readdir ($handle)) {
      if (!is_dir($file)){
            $folderArray[] = $file;
         }
      }
     closedir($handle);
   
   asort($folderArray);
   
      echo "liste=";
   foreach($folderArray as $row) {
        echo $row.',';
     }
 
     
     
   /*
   $handle = opendir ($path);//oeffnen des Ordners
   
   while($file = readdir($handle)) {
      if ($file != "." && $file != "..") {
         $exploded = explode(".",$file);//Trennen nach "."
         $xml .= '<song name="'.$exploded[0].'" file="'.$path.$file.'" />';
       }
   }
   
   echo utf8_encode($xml);//versenden des XML
   */
?>

folderliste.php

Code:
<?php
   dirname(__FILE__) . '/../assets';//"songs/";//Pfadangabe des Ordners
   $handle = opendir ($path);//oeffnen des Ordners
      
   while ($file = readdir ($handle)) {
      if ($file != "." && $file != ".."){
            $fileArray[] = $file;
         }
      }
     closedir($handle);
   
   asort($fileArray);
   
    echo "liste=";
   foreach($fileArray as $row) {
        echo $row.',';
     }
 
     
     
   /*
   $handle = opendir ($path);//oeffnen des Ordners
   
   while($file = readdir($handle)) {
      if ($file != "." && $file != "..") {
         $exploded = explode(".",$file);//Trennen nach "."
         $xml .= '<song name="'.$exploded[0].'" file="'.$path.$file.'" />';
       }
   }
   
   echo utf8_encode($xml);//versenden des XML
   */
?>


folder auslesen.php
dann noch eine js. Datei und eine swf Datei und dann halt noch der Ordner... vielleicht wirst du ja daraus schlau...[/code]

PS:
vorher stand da

$path = stripslashes($_POST["path"]);//"songs/";//Pfadangabe des Ordners


Zuletzt bearbeitet von zero-dragon am So 31.05.2009 18:28, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 31.05.2009 18:33
Titel

Antworten mit Zitat Zum Seitenanfang

Nur halb, das ist mir auch zu krude, ehrlich gesagt. Welche php version nutzt du denn? Die __FILE__-Konstante steht afraik erst ab php5 zur Verfügung, und diese Version solltest du auch verwenden. PHP4 ist veraltet und nicht zu empfehlen. Ansonsten musst du dir eine andere Möglichkeit ausdenken, um an den richtigen, absoluten Pfad zu gelangen.


Zu deinem Script:

Du erwartest glaube ich per post eine Pfadangabe ("../assets"). Trotzdem greifst du nicht auf den Bezeichner zurück ($_POST['folder'], sondern setzt direkt den erwarteten Wert ein. Das ist überaus seltsam, was du da tust. Weiter:

Dann holst du alle Slashes dort raus, also bleibt "..assets". Was willste denn damit anfangen? Da stehen dann zwei Punkte vor deinem Verzeichnisnamen.

Mal davon abgesehen, dass dieser Ansatz einen sicherheitstechnischen Supergau verspricht.

Auslesen einer (rekursiven) Verzeichnisstruktur, the right way:

Code:

foreach(new RecursiveIteratorIterator(
  new RecursiveDirectoryIterator(dirname(__FILE__) . '/../assets'),
  RecursiveIteratorIterator::SELF_FIRST) AS $file) {
 
  if($file->isFile()) ... dosomething()
}
  View user's profile Private Nachricht senden
zero-dragon
Threadersteller

Dabei seit: 30.05.2009
Ort: -
Alter: 29
Geschlecht: -
Verfasst So 31.05.2009 18:45
Titel

Antworten mit Zitat Zum Seitenanfang

bacon hat geschrieben:
Nur halb, das ist mir auch zu krude, ehrlich gesagt. Welche php version nutzt du denn? Die __FILE__-Konstante steht afraik erst ab php5 zur Verfügung, und diese Version solltest du auch verwenden. PHP4 ist veraltet und nicht zu empfehlen. Ansonsten musst du dir eine andere Möglichkeit ausdenken, um an den richtigen, absoluten Pfad zu gelangen.


Zu deinem Script:

Du erwartest glaube ich per post eine Pfadangabe ("../assets"). Trotzdem greifst du nicht auf den Bezeichner zurück ($_POST['folder'], sondern setzt direkt den erwarteten Wert ein. Das ist überaus seltsam, was du da tust. Weiter:

Dann holst du alle Slashes dort raus, also bleibt "..assets". Was willste denn damit anfangen? Da stehen dann zwei Punkte vor deinem Verzeichnisnamen.

Mal davon abgesehen, dass dieser Ansatz einen sicherheitstechnischen Supergau verspricht.

Auslesen einer (rekursiven) Verzeichnisstruktur, the right way:

Code:

foreach(new RecursiveIteratorIterator(
  new RecursiveDirectoryIterator(dirname(__FILE__) . '/../assets'),
  RecursiveIteratorIterator::SELF_FIRST) AS $file) {
 
  if($file->isFile()) ... dosomething()
}


also *bäh*
1. php5
2. bin leider noch totaler Anfänger, was php angeht. Muss es jetzt lernen weil ich eh eine Ausbildung zum Mediengestalter für neue Medien anfangen möchte, leider jedoch brauch ich bis nächste woche eine Lörung für meine Probleme...
ich kann dir nur sagen, dass das Script einen Ordner ausliest der wie folgt aussieht
Zitat:
assets/images/big/stadtpark/bilder.jpg
assets/images/small/stadtpark/bilder.jpg

wie du siehst sind da 2 verschiedene ordner mit Bildern die der dann aber anscheinend unterscheiden kann...

ich verstehe das einfach nicht...
vorher war der Ordner "assets" mit der PHP datei in einem Ordner drinne
Code:
$path = stripslashes($_POST["path"]);//"songs/";//Pfadangabe des Ordners

dann musste ich den Ornder assets einen Ordner zurück setzten, da dache ich, ich kann es einfach so umändern
Code:
$path = stripslashes($_POST["../assets/"]);//"songs/";//Pfadangabe des Ordners

wieso funktioniert das denn einfach nicht... *Schnief* *Schnief* *Schnief* *Schnief*
  View user's profile Private Nachricht senden
Impigra

Dabei seit: 17.05.2006
Ort: Egenhofen
Alter: 40
Geschlecht: Männlich
Verfasst Fr 05.06.2009 01:19
Titel

Antworten mit Zitat Zum Seitenanfang

* Applaus, Applaus * * Mmmh, lecker... *

sorry.. aber mehr fällt mir dazu nicht ein...

Und... natürlich...

www.google.de

das was bacon geschrieben hat ist absolut zutreffend... vielleicht liegts ja daran dass es nicht funktioniert...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen PHP-Problem mit index.php und Navi
[php] Problem mit html und php
[PHP] problem mit if
php problem
PHP Problem
Problem mit PHP 7.2
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.