php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.05.2005, 11:17  
Gast
 
Beiträge: n/a
Standard move_uploaded_file()

ahoi genossen.

habe ein uploadscript aus einem buch übernommen. aber es geht nicht. die funktion move_uploaded_file bringt immer einen fehler!

fehler:
Code:
Warning: move_uploaded_file(http://www.embeeart.de/uploaddir/hand.jpg) [function.move-uploaded-file]: failed to create stream: HTTP wrapper does not support writeable connections. in /home/www/htdocs/embeeart.de/scripts/upload/01/2nd.php on line 26

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/www/htdocs/embeeart.de/tmp/phptqeoF6' to 'http://www.embeeart.de/uploaddir/hand.jpg' in /home/www/htdocs/embeeart.de/scripts/upload/01/2nd.php on line 26
ist der pfad nicht richtig angegeben? ich habe auch schreibrechte dem ordner gegeben...

wenn nötig: kann auch mal den php-code anhängen.

PHP-Code:
<?php         
    
//DATEIUPLOAD UND PRUEFUNG    
    
if ( isset( $_FILES['u_file'] ) )
    {
    
//zum test: bildeigenschaften anzeigen
    
print "name: ".         $_FILES['u_file']['name']                    ."
"
;
    print 
"size: ".         $_FILES['u_file']['size']." Bytes"."
"
;
    print 
"temp name: ".$_FILES['u_file']['tmp_name']            ."
"
;
    print 
"type: ".         $_FILES['u_file']['type']                    ."
"
;
    print 
"error: ".         $_FILES['u_file']['error']                ."
"
;
            
    
//jpg-datei verschieben
    
if ( $_FILES['u_file']['type'] == "image/jpeg")
    {
        
$source $_FILES['u_file']['tmp_name'];
        
$target "http://www.embeeart.de/uploaddir/".$_FILES['u_file']['name'];
                    
        
//bringe die datei an neue position
        
move_uploaded_file$source$target );
                
        
//bildgroese
        
$size getImageSize$target );
        
//testanzeige des upload_bild
        
$imgstr "

<img width=\"$size[0]\" height=\"$size[1]\" "
;
        
$imgstr .= "src=\"$target\"/ ></p>";
                    
        print 
$imgstr;
    }
            
}
             
    
     
?>
jeder der hilft bekommt einen platz in meinem herzen

vielen dank im voraus.
mfg embee
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.05.2005, 11:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
$target = "http://www.embeeart.de/uploaddir/".$_FILES['u_file']['name'];
Das vertragen die Dateifunktionen als Ziel, wie klar aus
Zitat:
HTTP wrapper does not support writeable connections
hervorgeht. Kein Schreiben per http://x.y.z möglich.
 
Alt 03.05.2005, 11:56  
Gast
 
Beiträge: n/a
Standard

ich habe viel ausprobiert aber ich habe den fehler nicht wegbekommen, er hat sich manchmal geändert.

nun habe ich die adresse des uploaddir's geändert und es liegt im dateibaum unter dem uploadscript, was vorher nicht so war.

so klappt es auch! das ist schonmal schön.


das script zum abgucken
PHP-Code:
<?php

    
//DATEIUPLOAD UND PRUEFUNG    
    
if ( isset( $_FILES['u_file'] ) )
    {
    
//zum test: bildeigenschaften anzeigen
    
print "name: ".         $_FILES['u_file']['name']                    ."
"
;
    print 
"size: ".         $_FILES['u_file']['size']." Bytes"."
"
;
    print 
"temp name: ".$_FILES['u_file']['tmp_name']            ."
"
;
    print 
"type: ".         $_FILES['u_file']['type']                    ."
"
;
    print 
"error: ".         $_FILES['u_file']['error']                ."
"
;
            
    
//jpg-datei verschieben
    
if ( $_FILES['u_file']['type'] == "image/jpeg")
    {
        
$source $_FILES['u_file']['tmp_name'];
        
$target "uploaddir/".$_FILES['u_file']['name'];
                    
        
//bringe die datei an neue position
        
move_uploaded_file$source$target );
                
        
//bildgroese
        
$size getImageSize$target );
        
//testanzeige des upload_bild
        
$imgstr "

<img width=\"$size[0]\" height=\"$size[1]\" "
;
        
$imgstr .= "src=\"$target\"/ ></p>";
                    
        print 
$imgstr;
    }
            
}
?>
wie kann ich denn auf einen pfad hindeuten, der im verzeichnisbaum höher liegt? mit "../" gehts nicht.

ich will das script in verschiedenen bereichen(ort) meines webspaces ausführen, aber soll immer in das verzeichniss uploaden: "embeeart.de/uploaddir" wie kann ich das denn machen?

hast de da ne ahnung.

mfg
embee
 
Alt 03.05.2005, 11:58  
Gast
 
Beiträge: n/a
Standard

../ bezeichnet das Elternverzeichnis. Also z.B.
$target = "../uploaddir/".$_FILES['u_file']['name'];

Wie hast Du es bei Dir eingebaut und was passiert dann?
 
Alt 03.05.2005, 12:12  
Gast
 
Beiträge: n/a
Standard

kurz zur verzeichnisstruktur:

embeeart.de
|
|____uploaddir
|____scripts
|__upload
|___01
|___ulscript.php

das heist ja normalerweise, dass die verknüpfung so aussehen sollte:
"../../../../uploaddir"

und er bringt den fehler:
Code:
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10828 is not allowed to access /home/www/htdocs owned by uid 0 in /home/www/htdocs/embeeart.de/scripts/upload/01/2nd.php on line 26

Warning: getimagesize() [function.getimagesize]: open_basedir restriction in effect. File(../../../../uploaddir/fingerabdruck.jpg) is not within the allowed path(s): (/home/www/htdocs/embeeart.de/.) in /home/www/htdocs/embeeart.de/scripts/upload/01/2nd.php on line 29

Warning: getimagesize(../../../../uploaddir/fingerabdruck.jpg) [function.getimagesize]: failed to create stream: Operation not permitted in /home/www/htdocs/embeeart.de/scripts/upload/01/2nd.php on line 29
daraus schlussfolgere ich das das der ordner eins zu hoch war.

also:
"../../../uploaddir"

und dann... kommt kein fehler. Juhhu.

da habe ich vorhin nur den pfad falsch gehabt.

kann ich direkt den ordner ansprechen? was ich sagen will ist, das der pfad nicht aktuallisiert werden muss, wenn der ort des scriptes sich ändert.
also irgend wie so:
"/home/www/htdocs/embeeart.de/uploaddir/"

aber das funktioniert nicht.
 
Alt 03.05.2005, 12:23  
Gast
 
Beiträge: n/a
Standard

ah, safemode. Dann wird das so nichts.
siehe: http://de3.php.net/manual/de/features.safe-mode.php
 
Alt 03.05.2005, 12:36  
Gast
 
Beiträge: n/a
Standard

ich hab das doch schon berichtigt, das liegt nicht am safemode sondern am falschen pfad. steht doch in meinem thread.
 
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
move_uploaded_file http pfadangabe, move_uploaded_file http wrapper, move_uploaded_files, \datei verschieben\ open_basedir, move_uploaded_file flascher ordner, move_uploaded_file http, move_uploaded_file(): open_basedir restriction in effect. file, warning: move_uploaded_file() [function.move-uploaded-file]: safe mode restriction in effect, move_uploaded_file falscher ordner, move_uploaded_file ziel

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.