php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.11.2008, 13:13  
Benutzer
 
Registriert seit: 14.06.2008
Beiträge: 80
freakymiky befindet sich auf einem aufstrebenden Ast
Standard Leerzeichen in Dateiverzeichnissen

Habe folgendes Problem,

momentan trage ich Urlaubsorte in der Mysql Datenbank mit Unterstrichen statt Leerzeichen ein.

Wenn ich dann ein bild hochlade z.b für den Ort
Cala Blanka dann ensteht auch automatisch das Verzeichnis "Cala_Blanka" in dem dann die jeweiligen Bilder abgelegt werden.

Bei der anzeige der Bilder lasse ich auch als Überschrift den Namen des Ortes anzeigen und ersetze dort dann einfach das _ durch ein Leerzeichen. Somit steht zumindestens auf der Seite Cala Blanka als Überschrift.

Funktiert auch alles soweit und ich kann mir nacher die Bilder auf meiner Seite anschauen.
Allerdings stört es mich halt die "_" (unterstriche) in meiner Tabelle Orte in und somit natürlich auch in meinen Verzeichnissen auf dem Server.

Nun habe ich mal ein Ort mit Leerzeichen und nicht mit Unterstrichen angelegt und dann mit urlencode und urldecode ein bisschen herum zu experimentiert.
Leider ohne erfolg.

Bei ausgabe der Bilder als Thumbnail werden sie sauber angezeigt,
sobald ich dann auf kommentar klicke und die Bildpfad-angabe mit GET übergeben wird, damit ich mir das Bild auf der nächsten seite groß anschauen kann wird das Bild nicht angezeigt.


Was mache ich denn Falsch?
freakymiky ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.11.2008, 13:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ehrlich: Wen interessieren die Pfade der Bilder? Ich würde mir den Stress echt sparen..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 25.11.2008, 13:45  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Du kannst die Urlaubsorte mit Leerzeichen eintragen:

$ort = "Grand Hand";

dies in der Datenbank speichern und die Pfade daraus ableiten:

$pfad = str_replace(" ","_",$ort);

Dann kannst du $pfad zum suchn der Bilder und $ort für die Überschrift nehmen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 25.11.2008, 13:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Fragt sich, was bei mehrfachen Einträgen zu einem Ort passiert. Also alles, Zufallszahl, Timestamp... wäre besser für die Ordnernamen geeignet als ein Bezeichner, der gleichzeitig noch als Titel verwendet wird.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 25.11.2008, 14:01  
Benutzer
 
Registriert seit: 14.06.2008
Beiträge: 80
freakymiky befindet sich auf einem aufstrebenden Ast
Standard

Im Prinzip funktionierts ja auch.
Nervt mich halt persönlich nur ein bisschen überall die Unterstriche zu sehen.

Finde es halt irgendwie nur komisch dass sobald ich den Pfad mit GET-weiterleite das Blöde bild nich angezeigt wird.

Aber naja.....wenn ich auch der Meinung seit dass sich der Aufwand nicht lohnt es abzuändern dann werde ich wohl so weite arbeiten.

Muss halt nur beim anlegen neuer Orte in der Datenbank schön drauf aufpassen dass ich auch den unterstrich anstelle des Leerzeichens nehme.
Hatte ich gestern abend nämlich wieder total vergessen als ich neue Orte eintragen wollte....deswegen dachte ich ich frag euch mal.
freakymiky ist offline  
Alt 25.11.2008, 17:01  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Probier mal bitte das testskript
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);
function 
writeline($s) {
  echo 
$s"<br />\n";
}

$basedir 'php.de Testverzeichnis';

if(!
is_dir($basedir)) {
  
writeline('Verzeichnis '.htmlentities($basedir).' existiert nicht und wird nun angelegt');
  if (!
mkdir($basedir)) {
    
writeline('mkdir() fehlgeschlagen');
    exit;
  }
  
writeline('Verzeichnis angelegt. realpath: '.realpath($basedir));
  
writeline('Testdateien werden erzeugt');
  for(
$i=0$i<5$i++) {
    
file_put_contents($basedir.'/test '.$i.'.html''<h1>'.$i.'</h1>');
    
// Fehlerbehandlung spare ich mir hier. Es ist nur ein Testskript
  
}
}

if (isset(
$_GET['file'])) {
  
/*
   Das ist komplett unsicher
   auf diese Art kann jede Datei auf dem Server ausgelesen werden,
   für der Account des Webserver/PHP-Prozesses Leserechte hat.
   Nur für dieses Testskript
  */
  
if (file_exists($_GET['file'])) {
    echo 
'<fieldset><legend>Inhalt der Datei 'htmlentities($_GET['file']), '</legend>';
    
readfile($_GET['file']);
    echo 
'</fieldset>';
  }
}

echo 
'<form method="get" action="?"><select name="file">';
foreach(
glob($basedir.'/*.html') as $f) {
  echo 
'<option>',htmlentities($f), '</option>';
}
echo 
'</select><input type="submit" /></form>';
aus.
Es legt ein Verzeichnis mit dem Namen "php.de Testverzeichnis" an, legt fünf Dateien darin ab und zeigt ein <select> mit den Dateinamen an. Wenn man das Formular abschickt, wird der Inhalt einer der Dateien angezeigt.
Daran ändert sich auch nichts, wenn man MySQL dazwischen schaltet. Es sei denn, man ändert durch falsche Codierung die "Nutzlast" der Zeichenkette.

Natürlich kann es Schwierigkeiten mit dem Dateisystem und den zur Verfügung stehenden Funktionen geben. Zum Beispiel kann NTFS zwischen Groß- und Kleinschreibung unterscheiden, aber häufig genutzte Funktionen (auch im Windows Explorer) unterscheiden da nicht. Oder Funktionen sind fest an eine Codepage geknüpft und bilden daher bestimmte Zeichen falsch (oder zumindest anders) ab. usw. Aber Leerzeichen fallen nicht in diese Kategorie.
David ist offline  
 


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
Feldname mit Leerzeichen lässt sich nicht verarbeiten TheFlu Datenbanken 8 16.10.2007 23:01
vorangehende Leerzeichen NICHT löschen Knodomar PHP Tipps 2008 2 30.08.2007 23:41
wordwrap und Leerzeichen Zangelo PHP Tipps 2007 6 10.04.2007 21:36
fgets und leerzeichen notyyy PHP Tipps 2006 4 19.02.2006 23:00
ordnername mit leerzeichen ausgeben PHP Tipps 2006 13 10.02.2006 18:57
_ in leerzeichen ausgeben Zangelo PHP Tipps 2006 5 07.02.2006 18:33
leerzeichen moose PHP Tipps 2006 1 24.01.2006 18:54
führende Leerzeichen entfernen PHP Tipps 2007 6 20.11.2005 13:23
SMS Anfragen werden bei Leerzeichen nicht ausgeführt... madSoul PHP Tipps 2005-2 0 11.08.2005 12:14
HTACCESS - Leerzeichen im Pfad PHP Tipps 2005 5 09.01.2005 12:50
[Erledigt] Leerzeichen in Hyperlinks Server, Hosting und Workstations 2 23.11.2004 08:40
verdammt,bracuhe sowas mit leerzeichen :D Skazi PHP Tipps 2004 1 20.10.2004 08:32
[Erledigt] Hilfe: Leerzeichen bei SQL-Eintrag über Formular Datenbanken 2 05.09.2004 22:17
Leerzeichen aus DB-Feld werden zu einem zusammengefaßt HTML, Usability und Barrierefreiheit 2 13.08.2004 13:54
leerzeichen in variable... Sclot PHP Tipps 2004 9 04.07.2004 12:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mkdir leerzeichen, php readfile leerzeichen, mkdir leerzeichen, php is_dir leerzeichen, html pfad mit leerzeichen %, unterstriche aus ordnernamen entfernen, http://www.php.de/php-tipps-2008/49316-leerzeichen-dateiverzeichnissen.html, php pfad leerzeichen, leerzeichen in bildpfad, html bild pfad mit leerzeichen, leerzeichen in ordnernamen entfernen, html dateipfad leerzeichen, php pfade mit leerzeichen, mkdir php leerzeichen, is_dir php leerzeichen, php pfad mit leerzeichen, is_dir leerzeichen, verzeichnisse unterstriche entfernen, mkdir leerzeichen php, php leerzeichen in dir

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:29 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