webForumDet fria alternativet

Upload script

PHP

6 svar · 409 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Frågan#1

Håller på med ett upload script som jag ska ladda upp filer till mitt webbhotell varifrån som helst. Men jag har ett problem. Får detta meddelandet:

Warning: SAFE MODE Restriction in effect. The script whose uid is 13238 is not allowed to access / owned by uid 0 in /upload.php on line 12

Kan jag komma runt Safe Mode på något sätt?

Ett annat problem jag har är att funktionerna för att byta namn och ta bort uppladdade filer tillåter att man skickar t ex "../index.php" som argument.... Inte alldeles för bra... Hur fixar jag det? Är det bara att byta ut dubbla punkter och slashar mot ingenting?

Medlem sedan mars 20025 907 inlägg
#2

Du försöker accessa rooten ( / ), och det har du av naturliga orsaker inte rätt till. Spara filen i någon av dina egna mappar istället (som du har skrivrättigheter på)

Medlem sedan maj 20002 993 inlägg
#3

Tack nu fungerade det :)
Men jag behöver fortfarande hjälp med problemet som gör att man kan skriva över vilka filer man vill på servern...

Går det att göra så att filerna man har laddat upp i den speciella mappen inte kan köras? (php, asp)

Medlem sedan okt. 20023 030 inlägg
#4

Kanske inte världens snyggaste lösning men innan du kopierar filen:

while (file_exists($filename)) {
    $filename = substr($filename, 0, strrpos($filename, ".")) . '(1)' . substr($filename, strrpos($filename, "."), strlen($filename));
}

R// Variablerna måste ju såklart heta samma sak. :r

Medlem sedan maj 20002 993 inlägg
#5

löste det genom att använda basename() :)

Försökte just att ladda upp en fil som var lite mer än 500 Kb stort. Då fungerade det inte :( Går det att fixa det?

Medlem sedan juni 2003175 inlägg
#6

öppna i php.ini filen som ligger i php mappen och leta upp där det står din max upload grejs

Medlem sedan okt. 20023 030 inlägg
#7

Inställningen i php.ini heter upload_max_filesize. Om du har tänkt sätta den i MB så behöver du inte skriva alla bytes. Det räcker med att skriva nM där n = så många MB som du vill ha som max. :)

R// Jag har t.ex. 2M

248 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)