Jump to content
Sign in to follow this  
bergbenji

Datei Upload mit problemen...

Recommended Posts

Hi @ all...


Habe ein kleines problem mit meinem Datei Upload...


Die Dateien werden zwar alle hochgeladen - aber die rechte liegen bei dieser datei wohl auf der Seite des Servers.


Das heisst, ich kann sie per FTP nicht bearbeiten/Downloaden/löschen - und auch per html nicht runterladen.


Das wäre nicht das schlimmste - aber da ich die dateien per header an einen Nutzer senden muss, bleiben diese files, die der User bekommt immer auf 0kb.


Hat jemand vielleicht ne Idee, wie ich das ändern kann?!


Kenne mich mit PHP eigentlich recht gut aus, aber irgendwie ist mir dazu bisher noch nichts eingefallen.


Habe auch schon die Rechte der Dateien per CHMOD auf 0777 gesetzt - bringt aber trotzdem nichts...


Danke euch für Antworten und gute Ratschläge!


LG Benji

Share this post


Link to post
Share on other sites

Ups - weiss net warum - aber irgendwie bin ich im Mainthread verrustscht... :-( Sry sollte eigentlich in PHP Algemein... My failure...

Share this post


Link to post
Share on other sites

Hallo,


ich denke auch, dass hochgeladene Dateien immer die Standardrechte des Sysrems bekommen, nachdem sie hochgeladen wurden.


Das wäre nicht das schlimmste - aber da ich die dateien per header an einen Nutzer senden muss, bleiben diese files, die der User bekommt immer auf 0kb.


Das verstehe gerade nicht ganz. Wie genau sendest du die Datei? Werden Dateinamen und weitere Eigenschaften übertragen oder sieht der User nur namenlose Dateien?


Weiterhin interessiert mich, ob du die Daten von Server zu Server überträgst oder bspw. von Server zu E-Mail.



Grüße

Share this post


Link to post
Share on other sites

HI - habe das Prob gerade gefunden... Flüchtighkeits fehler - der mir nun 3 Tage gekostet hat :-(


hatte beim move_uploadet_files im dateinamen ("$path $filename") ein leerzeichen - durch dieses wurde die datei geschrieben - aber immer mit nem leerzeichen - was man nicht gesehen hat - weder im FTP progi noch anders... Habe das leerzeichen weg gemacht und nun klappt alles :-) Sry!


Sende die datei mit Filename an den User!


Die Dateien liegen in einem HTaccess geschütztem Ordner.

Und die werden mittels Header Conettype application .... and den benutzer gesendet.


(Wo ich nun das nächste prob habe)

Die Datei worin der Headeraufruf ist, ist im ./ dir...

Die Dateien jedoch im ./dateien/ dir...


Mein header funktioniert nicht mit dem aufruf:

 

$filesize=filesize("dateien/".$filename);
$fileplace="dateien/$filename";
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$fileplace");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: post-check=0, pre-check=0");
header("Content-Length: ".$filesize);

 


Hat da vielleicht noch jemand ne kleine Hilfe? :-P

Share this post


Link to post
Share on other sites

header("Content-Disposition: attachment; filename=$fileplace");


Mit dem Header gibt man an wie das File heißen soll, sprich was dann im Fenster steht dass beim User aufgeht.

Und nicht wo das File liegt!


readfile() verwendest du danach eh?

Share this post


Link to post
Share on other sites

So schauts im gesamten aus:

 

$sqlbefehl="Select * from $tab_aufgaben where id='$objektid'";
$ergebnis=mysql_query($sqlbefehl,$serverid);
$filename = mysql_fetch_array($ergebnis);

$numloadspush=$filename[loads]+1;
$sqlbefehl_push1="Update $tab_aufgaben SET loads=$numloadspush where id=$objektid";
@mysql_query($sqlbefehl_push1,$serverid);

$sqlbefehl_delete="Delete from $tab_warenkorb where aufgabe_id=$objektid and user_id=$_SESSION[userid]";
@mysql_query($sqlbefehl_delete,$serverid);

$filename2=$filename[filename];


$dlfile=@fopen($filename2,'r');
if ($dlfile===false)    
{        die('Cannot open file');    }

$filesize=filesize($filename2);
//$fileplace="dateien/$filename";
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename2\"");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: post-check=0, pre-check=0");
header("Content-Length: ".$filesize);
while (!feof($dlfile))    
{        
echo fread($dlfile,1024);        
flush();        
}

fclose($dlfile);

 

Muesste doch stimmen oder?!

Jetzt wo du es sagst... Stimmt das im header nur der Filename steht - bin so langsam echt am ende...

Share this post


Link to post
Share on other sites

Versuch mal davor ein

ini_set('max_execution_time',0);


Aber vorsicht damit, dadurch kann das Skript ewig laufen!!!

Share this post


Link to post
Share on other sites

So - habe es nun glaube ich fertig...



So schauts aus:

 

 

 

Und funktioniert sogar [:o]


Habe mich dazu durchgerungen - die dateien einfach mit rechtelevel 0770 hochzuladen -

Korrigiert mich wenn ich falsch liege - aber der Server und ueber die Scripts besteht ein voll zugriff, nur man kann nicht direkt ueber http://adresse zu datei

zugreifen oder?!


Mit dem Senden der Dateiper Header geht alles...

Share this post


Link to post
Share on other sites
Guest
Habe mich dazu durchgerungen - die dateien einfach mit rechtelevel 0770 hochzuladen -

Ganz schlechter Plan. Wenn man ein Binary hochlädt - beispielsweise eine vorkompilierte Shell - bekommt dieses Gruppen/User-Ausführrechte.


Korrigiert mich wenn ich falsch liege - aber der Server und ueber die Scripts besteht ein voll zugriff, nur man kann nicht direkt ueber http://adresse zu datei

zugreifen oder?!


Wenn man darauf zugreifen kann und die Datei Ausführungsrechte besitzt hast Du eine Möglichkeit geschaffen, deinen Webspace zu übernehmen.

Share this post


Link to post
Share on other sites
Guest

Besser noch, wenn Du auch die Gruppen-Rechte beschränkst.

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...