+ APACHE + Speicherrechte ???
Michael
- php
Hallo,
mittels PHP script möchte ich eine Datei in ein Verzeichnis (D:/internet/file upload/ - ja es handelt sich um einen lokalen Server ohne Internetanbindung ...) kopieren.
Allerdings bekomme ich dabei folgende Fehlermeldung vom Server:
[zitat]
Forbidden
You don't have permission to access /php file upload/<br><b>Notice</b>: Undefined variable: PHP_SELF in <b>d:/internet/php file upload/fileupload_4.php</b> on line <b>23</b><br /> on this server.
--------------------------------------------------------------------------------
Apache/1.3.22 Server at 127.0.0.1 Port 80
[/zitat]
Allerdings kann ich per cgi/perl sehr wohl Dateien in diesem Verzeichnis erstellen.
Wo bzw. wie kann / muss ich in der Konfig. von Apache irgendwelche Zugriffsrechte setzen ?
Vielen Dank für jede Hilfe im Voraus.
(Serverkonfig. ist nicht mein Fachgebiet ;-) )
Grüße
M
hi,
Wo bzw. wie kann / muss ich in der Konfig. von Apache irgendwelche Zugriffsrechte setzen ?
da wäre zuerst nachzufragen, ob denn dein PHP sonst funktioniert. Wenn das der Fall ist, ist zu prüfen, was du in deiner httpd.conf für das Verzeichnis "D:/internet/file upload/" (die Leertaste im Verzeichnisnamen ist bereits ein Problem) für Optionen vorgegeben hast. Und wenn auch das korrekt ist, müßtest du schon mal nen bißchen mehr PHP-Code rüberwachsen lassen.
(Serverkonfig. ist nicht mein Fachgebiet ;-) )
macht nix, im Forum gibts ein paar, die damit ganz gut zurechtkommen.
Grüße retour
Christoph S.
Hallo Christoph,
grundsätzlich funktioniert php sehr gut - bisher sind mir keine Fehler aufgefallen.
Den Leerraum hab' ich vorhin gekillt - Folge: das beschriebene Problem ist weg, aber ...
Zur Vorgeschichte:
ich möchte ein php script testen (nicht von mir selber) welches einfache Dateien (momentan .img) auf den Server laden kann.
[code: upload Datei]
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="FileUpload_4.php">
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="800000">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="1">
File 1: <INPUT TYPE="FILE" NAME="file1" SIZE="30"><BR><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
[/code]
Dann folgt jetzt hier der Teil, der den Upload durchführen soll:
<?php if ($HTTP_POST_VARS['action']) { ?>
<HTML>
<HEAD>
<TITLE>File Upload Results</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE" TEXT="BLACK">
<P><FONT FACE="Arial, Helvetica, sans-serif"><FONT SIZE="+2">File Upload Results</FONT><BR><BR>
<?php
//$uploadpath = '/path/to/store/uploaded/files/';
$uploadpath = 'localhost/php_file_upload/upload/';
$source = $HTTP_POST_FILES['file1']['tmp_name'];
$dest = '';
if (($source != 'none') && ($source != '' )){
$imagesize = getimagesize($source);
switch ( $imagesize[2] ){
case 0:
echo '<BR> Image is unknown <BR>';
break;
case 1:
echo '<BR> Image is a GIF <BR>';
$dest = $uploadpath.uniqid('img').'.gif';
break;
case 2:
echo '<BR> Image is a JPG <BR>';
$dest = $uploadpath.uniqid('img').'.jpg';
break;
case 3:
echo '<BR> Image is a PNG <BR>';
$dest = $uploadpath.uniqid('img').'.png';
break;
}
if ( $dest != '' ){
if (move_uploaded_file( $source, $dest )) {
echo 'File successfully stored.<BR>';}
else{
echo 'File could not be stored.<BR>';
}
}
}
else{
echo 'File not supplied, or file too big.<BR>';
}
?>
</BODY>
</HTML>
<?php } else { ?>
<!-- File Upload Form HTML Code Here -->
<?php } ?>
Beide Code-Teile stehen in der Datei FileUpload_4.php.
Problem ist jetzt, dass zwar der 'Bildschirm' des zweiten Codes "File Upload Results" erscheint allerdings mit den Meldungen:
1. Warning: Unable to create 'localhost/php_file_upload/upload/img3d3482f7a63ab.gif': No such file or directory in d:\internet\php_file_upload\fileupload_4.php on line 89
Dieses Bild ist auch tatsächlich nicht vorhanden.
2. Dann logischerweise die Meldung:
Warning: Unable to move 'C:\WINDOWS\TEMP\php373.TMP' to 'localhost/php_file_upload/upload/img3d3482f7a63ab.gif' in d:\internet\php_file_upload\fileupload_4.php on line 89
File could not be stored.
Dort wo ich das php-Script gefunden hab' gab's leider keine Zusatzinfos dazu außer den obigen Code.
Danke schon mal im Voraus.
Späte Grüße
Michael