copy = failed to open stream: Permission denied*

TAiS46

Registered User
Hallo,

habe hier nen Upload script gemacht, zum testen habe ich vorerst eine Datei in dem Windows temp order erstellt!

PHP:
$thefile2 = "C:\\WINDOWS\\Temp\\test.txt";

die wollte ich nun verschieben:
PHP:
if(!copy($thefile2, $server_root . $server_save_directory)) {
	echo "Beim speicher ist ein Fehler aufgetreten, bitte versuchen sie es nochmal.";
}

fehler der kommt ist volgender:

Warning: copy(C:\server\vhosts\beta.imag.de\httpdocs\img31\): failed to open stream: Permission denied in C:\server\vhosts\beta.imageup.de\httpdocs\uploader.php on line 20
Beim speicher ist ein Fehler aufgetreten, bitte versuchen sie es nochmal.

bin mir sicher das es gehen muss! der domain ist geändert :)
denke das die reichte vom temp ordner falsch sind!
 
Hallo TAiS46,

halte dich bitte noch ein wenig stärker an unsere Boardregeln
(insbesonder an Punkt 3)!

Zu deinem Problem:

Wenn man Fehler postet, dann bitte immer den vollständigen Fehler!
In deinem Fall also:
Warning: mkdir(img31): Permission denied in C:\server\vhosts\beta.imageup.de\httpdocs\uploader.php on line 4

Notice: Undefined index: thefile in C:\server\vhosts\beta.imageup.de\httpdocs\uploader.php on line 6
Sie müssen eine Datei zum hochladen auswählen..

Du sagtest:
denke das die reichte vom temp ordner falsch sind!

Somit wäre es ganz sinnvoll wenn du uns mal die Rechte nennen würdest!
Außerdem wäre ein Auszug aus den LogFiles ganz praktisch.

Lg
Free

PS:
Da dieser Post:
auch tw. darauf abzieht solltest du dich entscheiden wo du es jetzt weiter besprechen möchtest!

Lg
Free
 
Ich bleibe mal hier, da sich der andere Thread ja auf was anderes bezieht.

Also nochmals.
habe das mal bischen umgeschrieben.

PHP:
if(!copy($thefile['tmp_name'], $server_root . $server_save_directory)) {
	echo "Beim speicher ist ein Fehler aufgetreten, bitte versuchen sie es nochmal.";
}
Das ist also das Script, was die Datei, die über ein Formular gepostet wurde von dem Windows Temp Ordner in den Angegebenen Ordner Postet.

Der Ordner setzt sich zusammen aus:
PHP:
$server_root = "C:\\server\\vhosts\\beta.imageup.de\\httpdocs";
$server_save_directory = "\\img31\\";

Der Fehler der ausgegeben wird ist folgender:
Code:
Warning: copy(C:\server\vhosts\beta.imageup.de\httpdocs\img31\): failed to open stream: Permission denied in C:\server\vhosts\beta.imageup.de\httpdocs\uploader.php on line 19
Beim speicher ist ein Fehler aufgetreten, bitte versuchen sie es nochmal.

Da es Windows ist, muss ich ja an den rechten von dem Ordner img31 nichts ändern oder?

Und wie kann ich die Rechte von dem Windows Temp Ordner rausfinden? Arbeite noch nicht lange mit Windows!

Grüße Simon
 
Last edited by a moderator:
Hallo TAiS46,

Da es Windows ist, muss ich ja an den rechten von dem Ordner img31 nichts ändern oder?

Wir müssen glaube ich erst einmal das Wort 'Rechte' definieren.

Wenn du von CHMOD sprichst, dann ist dies richtig.
Du musst allerdings trotzdem auf die Besitzerrechte achten.

Diese solltest du einfach per Rechtsklick->Eigenschaften->Sicherheit
rausfinden können.

Lg
Free
 
Du musst allerdings trotzdem auf die Besitzerrechte achten.

Diese solltest du einfach per Rechtsklick->Eigenschaften->Sicherheit
rausfinden können.

hey Free,

wenn ich nach den Besitzerrechten von dem Ordner "img31" schaue, ergibt sich folgendes:
Code:
Administrator: Vollzugriff
Plesk Domain User: Vollzugriff
Plesk ISS User: Ordnerinhalt auflisten
System: Vollzugriff

Wie man da auch sehen kann, benutze ich Plesk.

Gruss Simon
 
Hi,

und wie sieht es mit den Rechten des Temp Dirs aus?

PS:
Ich habe keinen Win-Server kann dir deshalb dort auch nicht so sehr weiterhelfen ich kann dir nur versuchen meiner Meinung nach logische Denkanstöße zu geben.

Lg
Free
 
Hi,
und wie sieht es mit den Rechten des Temp Dirs aus?

Code:
Administrator: Vollzugriff
ERSTELLER-BESITZER: keine
Hauptbenutzer: Vollzugriff
NETZWERKDIENST: Ordnerinhalt auflisten
psaadm: Ordnerinhalt auflisten
psacln: Vollzugriff
psaserv: Ordnerinhalt auflisten
System: Vollzugriff

Die Rechte von ERSTELLER-BESITZER kann ich nicht ändern!
 
Geht leider nicht.
Er findet den Besitzer nicht oder so, also ich kann Plesk Domain User nicht hinzufügen!
Ich kann ja mal versuchen den PHP Temp Ordner woanders zu erstellen!
 
Last edited by a moderator:
Hi,

und wie wäre es ein extra Temp Dir anzulegen innerhalb des Webs?
Also einen Unterordner von
Code:
C:\server\vhosts\beta.imageup.de\httpdocs\
??
Auf diesen müsste der User ja Zugriff haben.
Du könntest dein Script dann dahingehend bearbeiten und die Sache wäre gegessen ;)

Lg
Free
 
Und wie mache ich das dann, das das File in den Ordner
C:\server\vhosts\beta.imageup.de\httpdocs\temp
gespeichert wird nun nicht in dem Windows Temp Ordner?
 
Hast du diesen Pfad nicht definiert in deinem Scrip?

Mhh dann versuch dochmal den Windows-Temp Ordner zu open_base_dir der Domain hinzuzufügen. (Sofern es das für Windows gibt)

Sorry wie gesagt ich habe keinen Windows Server und würde auch Webhosting niemals auf Windows machen.

Lg
Free
 
MOD: Full-Quote entfernt!

Ich Hoste eigentlich auch nicht auf Windows :D aber ich brauche den Winserver noch für andere sachen :o
 
Last edited by a moderator:
Back
Top