Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

rechten probleem bij uploadscript

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik kan niks vinden op internet hierover en hoop dat iemand mij hier wijzer in kan maken. Ik heb van w3schools een upload script gehaald (een van de weinige, cleane uploadscripts op internet die het goed doen) en iets aangepast. Het uploaden gaat prima en de copy naar de upload map ook. In mijn ftp programma kan ik bevestigen dat alles goed is gegaan. Op 1 ding na: de rechten. Ik zet expliciet de rechten nog naar 755 in mijn script maar op de een of andere manier nijgt het bestand dus 363 te krijgen. Zo kan een normale bezoeker het bestand niet eens zien.

mijn code:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 400000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

if($_FILES["file"]["type"]== "image/gif")
{
    $ext='.gif';
}
else{$ext='.jpg';}
$newfile = "img/uploads/".$id.$ext;
    if (file_exists($newfile))
      {
          echo $id.$ext . " already exists. ";
      }
    else
      {
          move_uploaded_file($_FILES["file"]["tmp_name"], $newfile);
          chmod($newfile,755);
          echo "Stored in: " . $newfile;
      }
    }
  }
else
  {
  echo "Invalid file";
  }

?>


weet iemand waar dit aan ligt!? :?
alvast bedankt!

  • BHR
  • Registratie: Februari 2002
  • Laatst online: 18-11 20:21

BHR

dec 755 = oct 1363

gebruik chmod($file, 0755)

staat trouwens letterlijk in de php manual: http://nl2.php.net/chmod

[ Voor 44% gewijzigd door BHR op 27-04-2008 18:47 . Reden: ocr=oct ]

No amount of key presses will shut off the Random Bug Generator


Verwijderd

Met BHR :)

Of je maakt de hele folder gewoonweg writable, alles wat daarin wordt opgeslagen automatisch 755 krijgt, dus niet per bestand via je script.

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Het is niet zo verstandig van ze om in een handleiding onder 'parameters' als eerst een ongeldig voorbeeld te zetten. Veel mensen die een antwoord zoeken en half weten wat ze zoeken zullen denken 'ah, dat' en niet verder lezen. Zeker als je gewend bent om "chmod 755" op een command line in te tikken, dan ziet het er gewoon goed uit.

[ Voor 3% gewijzigd door Confusion op 27-04-2008 18:51 ]

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
briljant het werkt! ik was al helemaal trots dat ik chmod als oplossing had maar vond al raar dat dat niks uithaalde.. vreemd ook dat het niet standaard opgenomen is in dat voorbeeld wat ik van w3schools heb. Nougoed.. het werkt nu. Bedankt! :D _/-\o_

Verwijderd

Topicstarter
confusion... ja dat is inderdaad erg "confusing". Wat je ook veel ziet zijn voorbeelden met snippets zonder het hele script te tonen. Ik ben bijv. al hele middag bezig geweest een behoorlijk upload script te vinden die enigzins uitgekleed, werkend en wel is.. en zelfs dat moet je blijkbaar nog aanvullen. Als je dan verder zoekt vind je wel classes maar die zijn weer te uitgebreid. Ik hou van "minimal working cases" aangezien ik er ook iets van wil leren en controle wil houden over wat er gebeurd.

maargoed als ik het goed begrijp is die 000-777 notatie dus leuk voor je OS als weergave maar werkt dus niet als script zoals je het verwacht.

Verwijderd

Topicstarter
Verwijderd schreef op zondag 27 april 2008 @ 18:48:
Met BHR :)

Of je maakt de hele folder gewoonweg writable, alles wat daarin wordt opgeslagen automatisch 755 krijgt, dus niet per bestand via je script.
ja dat zou je denken.. gekke is, dat dat niet het geval is.. lijkt wel alsof mijn upload script expliciet uitzonderingen maakte voor de file die er in zit. Snap er de ballen niet van. Maar het is opgelost.
Pagina: 1