php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-08-2007, 12:48
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard File Upload - Probleme mit der Pfadangabe :(

Hallo liebes Forum,

ich hab eigentlich ein 0815-Problem und hab schon alles mögliche drüber gelesen (auch viel hier im Forum) aber es klappt einfach nicht

Problem: Habe ein Skript das einfach eine Datei in ein bestimmtes Verzeichnis auf dem Server laden soll.

Fehlermeldung:

Warning: move_uploaded_file(../upp/): failed to open stream: Permission denied in /srv/www/vhosts/[meinedomain]/httpdocs/ordner/csvimport.php on line 15

Warning: move_uploaded_file(): Unable to move '/tmp/phpyiTVhO' to '../upp/' in /srv/www/vhosts/[meinedomain]/httpdocs/ordner/csvimport.php on line 15

Die Fehlermeldung sagt mir wohl das er die Daten vom Temp nicht in mein gewünschtes Verzeichnis "upp" kopieren kann. Ich bekomme manchmal auch eine open_basedir Fehlermeldung - je nach Pfad den ich angebe.

Skript:
HTML-Code:
<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<input name="userfile" type="file"><input type="submit" value="Send File">
</form>

PHP-Code:
$uploaddir "../upp/"// hier hab ich schon alles mögliche eingegeben - absoluter Pfad, relativer Pfad ...

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
   echo 
"super";
} else {
    echo 
"shit";

Einstellungen Server (phpinfo()):

safe_mode: Local Value=off, Master Value=on
open_basedir: /srv/www/vhosts/[meinedomain]/httpdocs:/tmp
upload_tmp_dir: no_value
$_FILES-Array: Array ( [userfile] => Array ( [name] => ggg.txt [type] => text/plain [tmp_name] => /tmp/phpyiTVhO [error] => 0 [size] => 1860 ) )
PHP-Version: 4

Schlusswort:

Ich bin am verzweifeln :/ Bei mir auf dem localhost klappt es super! auch habe ich mal SafeMode auf ON gemacht und es ging auch noch ohne Probleme. Ich denke das Problem MUSS der Pfadname bei $uploaddir sein - oder?

Geändert von FrozenEmotions (21-08-2007 um 13:12 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-08-2007, 13:01
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was ergibt ein
PHP-Code:
var_dump($_FILES['userfile']['error']); 
?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 21-08-2007, 13:05
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

int(0) ... zeigt er an
Mit Zitat antworten
  #4 (permalink)  
Alt 21-08-2007, 13:15
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

versuchs mit DOCUMENT_ROOT und einer absoluten pfadangabe.
Mit Zitat antworten
  #5 (permalink)  
Alt 21-08-2007, 13:23
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Meinst du so:

<form enctype="multipart/form-data" action="<?php $_SERVER['DOCUMENT_ROOT'] ?>" method="post">

$uploaddir = "/srv/www/vhosts/[meinedomain]/httpdocs/ordner/upp/";

Falls ja, kommt gleiche Fehlermeldung.



Also noch zur Info, so sind die Ordner angelegt:

../httpdocs/ordner/upp

in "ordner" ist das skript, in "upp" sollen die hochgeladenen Dateien rein.

Geändert von FrozenEmotions (21-08-2007 um 13:27 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 21-08-2007, 13:29
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

kann es sein, dass du das verzeichnis upp per ftp erstellt hast, ohne die entsprechenden rechte zu setzen?

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 21-08-2007, 13:31
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nein, meine ich nicht. übergib die absolute pfadangabe an move_uploaded_file.
Mit Zitat antworten
  #8 (permalink)  
Alt 21-08-2007, 13:31
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja! Ich greif auf den Server über Windows zu (Netzwerkressource). Hab aber auch auf den Ordner geklickt und alle Rechte vergeben die es zu vergeben gibt (schreib/lese). Ist das der Fehler?
Mit Zitat antworten
  #9 (permalink)  
Alt 21-08-2007, 13:33
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schön! darf ich jetzt auch hineinschreiben?
Mit Zitat antworten
  #10 (permalink)  
Alt 21-08-2007, 13:35
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

könnte möglich sein aber kann es wirklich an dem Ordner liegen? Und wie soll ich ihn anderst erstellen als über ftp ..hmm
Mit Zitat antworten
  #11 (permalink)  
Alt 21-08-2007, 13:41
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi, ich hat grad mal lust folgendes hier reinzulegen
vielleicht kannst du ja damit was anfangen
Zitat:
also ich lass bei mir bilder so hochladen, aber nicht in einen htaccess bereich
PHP-Code:
# wenn mit der datei alles io ist dann
....
$filename "zahl.txt";
$fd fopen$filename"r" );
$contents fread$fdfilesize$filename ) );
fclose$fd );
$contents=$contents+1;
$fd fopen$filename"w" );
fputs$fd"$contents");
fclose$fd );
$nummer"$bildordner/$nummer$contents";
$nummer"$nummer$hallo";
$nummer22"$nummer";

$lokale_datei $_FILES['bild1']['tmp_name'];
$zieldatei "$nummer22";

// Die Verbindung herstellen
$connection_id ftp_connect("$ftp_server");

// Mit Benutzername und Kennwort anmelden
$login_result ftp_login($connection_id"$benutzername""$passwort");
ftp_chdir($connection_id,"html"); # ab ins root verzeichnis

// überprüfen ob alles gutgegangen ist
if ((!$connection_id) || (!$login_result)) {
    echo 
"Ftp-Verbindung nicht hergestellt!";
    echo 
"<p>Verbindung mit $ftp_server nicht möglich!</p>";

    die;
} else {}

// Hochladen der datei

$upload ftp_put($connection_id$zieldatei$lokale_dateiFTP_BINARY);

// Upload-Status überprüfen
if (!$upload) {
    echo 
"<p>Ftp upload war fehlerhaft!<br>Datei wurde nicht auf $ftp_server gespeichert</p>";
} else {}

// Schließen der Verbindung
ftp_quit($connection_id);
}
.... 
achso... $nummer ist der zufallsname der vergeben wird mit
PHP-Code:
$allow "0123456789abcdefghijklmnopqrstufwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
srand((double)microtime()*1000000);
for(
$i=0$i<10$i++) {
$nummer .= $allow[rand()%strlen($allow)];

und $hallo der dateityp, sprich .jpg oder .gif bei mir
vielleicht kannst du damit ja was anfangen und dir was drausbasteln
Mit Zitat antworten
  #12 (permalink)  
Alt 21-08-2007, 13:47
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von penizillin
nein, meine ich nicht. übergib die absolute pfadangabe an move_uploaded_file.
Ich hab das mal probiert:

$uploaddir = $_SERVER['DOCUMENT_ROOT'];

leider auch ohne Erfolg

@brauni - DANKE ! Ich versuchs mal zu verstehen und testen.
Mit Zitat antworten
  #13 (permalink)  
Alt 21-08-2007, 13:52
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, hatte nämlich auch bei dem ftp-upload schwierigkeiten mit dem rootordner
PHP-Code:
ftp_chdir($connection_id,"html"); # ab ins root verzeichnis 
hat mein problem dann lösen können

ich habe den ordner einfach in der zieldatei angegeben, sprich ungefähr so
$ordner/datei.jpg
die bilddatei wurde dann direkt in den unterordner abgelegt -> schreibrechte nicht vergessen
Mit Zitat antworten
  #14 (permalink)  
Alt 21-08-2007, 14:20
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also ich hab mir das mal angeschaut mit dem ftp-upload, aber momentan wär ich echt froh wenn das simple Skript wo ich am Anfang gepostet habe funktionieren würde.

Hat vielleicht jemand noch irgendwelche Tipps? Ich wär wirklich SEHR dankbar !
Mit Zitat antworten
  #15 (permalink)  
Alt 21-08-2007, 18:26
FrozenEmotions
 Registrierter Benutzer
Links : Onlinestatus : FrozenEmotions ist offline
Registriert seit: Aug 2007
Beiträge: 33
FrozenEmotions ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also ich teste gerade auf einem anderen Server, da geht es leider auch nicht.

Hat vielleicht jemand ein alternatives, EINFACHES skript ohne FTP-Anweisungen? Sicherheit spielt keine Rolle,es muss auch nichts überprüft werden (Dateityp, Größe etc.) da es nur für den internen Bereich ist.

Ich danke schon mal!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:48 Uhr.