[PHP] Datei Anhängen - Rechteproblem

27o8

abgemeldet
2 Mai 2006
9.028
933
Moin,
ich möchte das mein Script Dateien per Email verschickt, aber ich habe keine Berechtigung die Datei zu öffnen :-?

Warning: fopen(): Unable to access /var/www/web68/html/*edit*/5d6042a5aaaf6bce62fedb26448cfbf1 in /var/www/web68/html/scriptshop.org/dateiname.php on line 31

So mache ich das:
PHP:
$file_content = fread(fopen($file,"r"),filesize($file));
$file_content = chunk_split(base64_encode($file_content));

Wenn ich die Dateien jedoch zum Download anbiete:
PHP:
 header("Content-Type: application/forced-download");
 header("Content-Disposition: filename=$result->script_filename");
 readfile($cfg['file_path'].$result->script_tmp_filename);
geht alles :-?. Die Dateien haben CHMOD 600, der Ordner CHMOD 777.
Wie kann ich das regeln? ;)

Gruß
Gremlin
 
Lass dir mal beide Male Pfad+Dateiname ausgeben.
Verwendest immerhin ja auch zwei unterschiedliche Variablen:

[$cfg['file_path'] +] $result->script_tmp_filename
und $file.
 
Weiter oben habe ich stehen:

PHP:
$file = $cfg['file_path'].$result->script_tmp_filename;
$file_name =$result->script_filename;

Hier mal die ganze Datei:

PHP:
<?php
include("config.php");
include("inc/function.php");
$ausgabe = mysql_query("SELECT script_tmp_filename,script_filename FROM shop_artikel WHERE script_id = '10' LIMIT 1") or die(mysql_error()); 
$result = mysql_fetch_object($ausgabe);  
$file = $cfg['file_path'].$result->script_tmp_filename;
$file_name =$result->script_filename;
 
$subject= 'Scriptshop.org - Ihre Bestellung';
 
$message = '
Hallo,
im Anhang befindet sich das gewünschte Script. 
Mit freundlichen Grüßen
ScriptShop.org
';
$boundary = strtoupper(md5(uniqid(time())));
$mail_header  = "From:mailer@scriptshop.org\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message";
$file_content = fread(fopen($file,"r"),filesize($file));
$file_content = chunk_split(base64_encode($file_content));
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail("gremlincomputer@gmx.de",$subject,$message,$mail_header);
 
 
?>

Gruß
Gremlin
 
Irgendwie behauptet php das es die Datei nich gibt :-? und ich hab irgendwie keine Erlaubniss drauf zuzugreifen, selbst wenn ich eine php Datei in den selben Ordner lege und aufrufe kommt:


Warning: readfile(): Unable to access 5d6042a5aaaf6bce62fedb26448cfbf1 in /var/www/web68/html/scripte/index.php on line 2

Warning: readfile(5d6042a5aaaf6bce62fedb26448cfbf1): failed to open stream: No such file or directory in /var/www/web68/html/scripte/index.php on line 2

Wie kann es dazu kommen?

Gruß
Gremlin
 
Pfad mal relativ und absolut angegeben?
Wenn im selben Ordner mal mit einem ./ davor versuchen als relativer Pfad.
 
Immer noch das gleiche, hab alle Möglichkeiten probiert. Also absolut und relativ und mit Punkt davor ;)

Finde das seltsam, das Script ging gestern morgen so gegen 10 Uhr noch. Und Mittags um 13 Uhr schreibt mich einer an, das nix mehr geht. Aber habe nix geändert gehabt :(

Gruß
Gremlin