php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.01.2012, 00:44  
Neuer Benutzer
 
Registriert seit: 23.01.2012
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Nenolam befindet sich auf einem aufstrebenden Ast
Standard Dateien beim Upload sortieren lassen

Hi ich möchte Dateien nach ihrem Prefix beim Upload in verschiedene Verzeichnisse sortieren. Hier ein Beispiel:

ff_house.txt
ff_summer.txt
ff_car.txt
krm_pool.txt
krm_cbble.txt

Ordner ff und krm.

PHP-Code:
$filename escape($_FILES['file']['name'], 'string');
$bs strtolower(substr($filename03));
$bs2 strtolower(substr($filename04));

$uploadordner 'ff';
$uploadordner2 'krm';

if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner .$filename)) {
  if (
$bs == 'ff_') {
    
$url $uploadordner .$filename;
  } elseif (
$bs2 == 'krm_') {
    
$url $uploadordner2 .$filename;
  }
  @
chmod($url0777);

Ich weis das ist Schrott aber ich ärger mich nun auch schon seit einiger Zeit damit rum. Mir fällt im Moment nichts mehr ein daher würde ich gerne einen Ratschlag einholen wie ichs besser schreiben kann.
Danke im Vorraus
Nenolam ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.01.2012, 05:59  
Erfahrener Benutzer
 
Registriert seit: 10.11.2011
Beiträge: 268
PHP-Kenntnisse:
Fortgeschritten
Solu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
// Zerlegen...
$exp explode("_"$_FILES['file']['name']);

// URL nach Präfix erstellen
if ($exp[0] == "ff") {
    
$url "ff/" .$filename
} elseif (
$exp[0] == "krm") {
    
$url "krm/" .$filename
}

// oder mit einem Switch
switch ($exp[0]) {
    case 
"ff":
        
$url "ff/" $filename;
    break;
    case 
"krm":
        
$url "krm/" $filename;
    break;

Mittels explode() zerlegt man einen String in ein Array. Mehr dazu im PHP Manual

Geändert von Solu (23.01.2012 um 06:03 Uhr).
Solu ist offline   Mit Zitat antworten
Alt 23.01.2012, 11:24  
Neuer Benutzer
 
Registriert seit: 23.01.2012
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Nenolam befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank nach wenigen Anläufen habe ich mit deiner Hilfe es doch fertig gebracht.
Der Blick im Manual hat mir dein Beispiel eingeleuchtet.
Der Code funktioniert und sieht mitlerweile so aus:
PHP-Code:
$filename escape($_FILES['file']['name'], 'string');
$exp explode("_"$_FILES['file']['name']);
  if (
$exp[0] == "ff") {
    
$uploadordner "ff/" .$filename
  } elseif (
$exp[0] == "krm") {
    
$uploadordner "krm/" .$filename
  }

if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner .$filename)) {
  
$url $uploadordner .$filename;
  @
chmod($url0777);

Nenolam ist offline   Mit Zitat antworten
Alt 23.01.2012, 11:37  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

$filename hängst du zweimal an
Code:
ff/ff_house.txtff_house.txt
Ist das gewollt?
fab ist offline   Mit Zitat antworten
Alt 23.01.2012, 11:48  
Neuer Benutzer
 
Registriert seit: 23.01.2012
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Nenolam befindet sich auf einem aufstrebenden Ast
Standard

Ups hat sich hier doch noch ein Schreibfehler eingefunden

CODE:

PHP-Code:
$filename escape($_FILES['file']['name'], 'string');
$exp explode("_"$_FILES['file']['name']);
  if (
$exp[0] == "ff") {
    
$uploadordner "ff/"
  } elseif (
$exp[0] == "krm") {
    
$uploadordner "krm/"
  }

if (
move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner .$filename)) {
  
$url $uploadordner .$filename;
  @
chmod($url0777);

Danke für den Hinweis
Nenolam ist offline   Mit Zitat antworten
Alt 23.01.2012, 12:31  
meikel
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$filename escape($_FILES['file']['name'], 'string'); 
KA, was escape treibt, aber bestimmt keine Konvertierung nach RFC 3986.
http://www.faqs.org/rfcs/rfc3986.html

Was soll das denn:
PHP-Code:
  @chmod($url0777); 
Erwartest Du da ausführbare Binärfiles oder Shellscripte, die Du via CGI ausführen möchtest, oder tragen Dein Bilder grundsätzlich den Nachnamen EXE?

Geändert von meikel (23.01.2012 um 12:36 Uhr).
  Mit Zitat antworten
Alt 23.01.2012, 18:25  
Neuer Benutzer
 
Registriert seit: 23.01.2012
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Nenolam befindet sich auf einem aufstrebenden Ast
Standard

Das Skript ist ein wenig länger als nur dieser kleine Ausschnitt.
Es werden mehrere Dateien mit den selben Namen jedoch unterschiedlichen Endungen hochgeladen und nach Prefix in verschiedene Ordner sortiert.
Noch beim Upload einer der Dateien werden Informationen aus dieser gelesen und anschließend werden die Dateien mit dem selben Namen gezipt.
Die Informationen werden zu gute letzt noch in die Datenbank gespeichert.
Fertig ist der Upload.
Mir gings in diesem Thread darum, die Sortierung der Dateien im Skript zu erweitern.
PHP-Code:
@chmod($url0777); 
hatte ich im Beispiel mit eingebaut

Geändert von Nenolam (23.01.2012 um 18:28 Uhr).
Nenolam ist offline   Mit Zitat antworten
Antwort


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
Upload von Dateien: Einstellungen der php.ini nicht wirksam? sYntaXic PHP Einsteiger 6 21.11.2011 13:36
Php Dateien Upload fabi288 PHP Einsteiger 7 06.12.2010 07:56
Upload eps dateien werden nicht hochgeladen paule28 PHP Tipps 2010 11 30.06.2010 15:14
[Erledigt] Ordner auslesen und Dateien sortieren gen PHP Tipps 2010 2 13.04.2010 09:26
Dateien nach datum sortieren nach upload suwofis PHP Tipps 2009 3 01.07.2009 21:27
Problem beim Upload von Dateien per FTP ererbus PHP-Fortgeschrittene 4 11.06.2009 22:56
Upload unjd Dateien direkt umbennen HH.1987 PHP Tipps 2009 2 08.03.2009 12:14
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
Dateien sortieren Lavalampe PHP Tipps 2008 10 02.05.2008 15:47
Dateien nach Datum sortieren ddog PHP Tipps 2008 4 09.03.2008 10:11
[Erledigt] Datei Upload! alle Dateien zulassen PHP Tipps 2004 8 08.11.2004 20:15
Upload von Dateien PHP Tipps 2004 10 16.09.2004 10:52
upload mehrere dateien chief-thomson PHP Tipps 2004 5 26.08.2004 17:00
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26
Mimetyp bei upload von größeren Dateien PHP Tipps 2004 3 29.07.2004 11:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datei hochladen sortierung, php filename escape, php mehrere dateien nach ihrem inhalt sortieren

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