Door
Paul Weiss
op 28-08-2023 18:02
gewijzigd op 28-08-2023 18:04
3.223 views
Hoi. Ik ben bezig met een proefopzetje waarbij ik via een form een naam kan kiezen voor het aanmaken van een directory. Dat gedeelte gaat goed. Vervolgens wil ik echter met behulp van de copy functie hierin een bestand plaatsen met de naam index.php. Echter het wil niet lukken omdat de doelmap niet wordt herkend. als ik een echo uitvoer van $target dan wordt het pad wel goed weergegeven. ik heb totaal geen idee wat er fout gaat.
Nee heb ik nog niet gedaan. ik krijg alleen de melding dat de copy niety is gelukt door de echo functie. Ik ben nog niet heel lang bezig met php. heb wel over error reporting gelezen, maar weet niet echt goed hoe ik dit precies moet toevoegen. Ik heb wel onderstaande code ingevoegd, maar heb geen idee of dit voldoende is.
stom niet goed gekeken. misschien een leesbril kopen (haha) het klopt inderdaad wat san zegt.
maar ik krijg het nog steeds niet werkend. De foutafwerking geeft geen melding. Om even alles meer inzichtelijk te krijgen heb ik 2 codes hieronder toegevoegd. de eerste werkt. Maar de 2e dus niet
Deze werkt, maar dat wordt het pad gewoon opgegeven zonder variable
Wat Ariën al zegt, de code voor het tonen van foutmeldingen (de laatste 3 regels in jouw voorbeeld) moet je boven de andere code zetten. Daarmee zet je de foutmeldingen 'aan'. Als je die code op het eind zet, dan zet je op dat moment de foutmeldingen pas 'aan', maar de code erboven is dan al uitgevoerd.
heb de foutafhandeling bovengezet nu. als ik een php variable gebruik als doelmap dan krijg ik onderstaande foutmelding (p.s. heb ook $target = $doelmap . '/index.php'; geprobeerd, maar werkt ook niet.
Onderstaande de foutmelding (als ik een doelmap gebruik die al wel bestaat krijg ik de melding niet):
ik krijg ook geen foutmelding bij het aanmaken van de map die evt vanuit de form wordt verstuurd
Warning: copy(qasaqaa/index.php): Failed to open stream: Permission denied in /mnt/web521/c2/71/511264671/htdocs/dashboard/create.php
Je hebt geen rechten om daarin te schrijven. Ik vermoed een ownership probleem dat enkel de apache-user dat mag doen, in plaats van jij als user 'paul'. Met een goed ingestelde server zou alles onder je eigen user moeten draaien.
Geen idee of dit ook werkt met een directory:
<?php
print_r(posix_getpwuid(fileowner($doelmap)));
?>
He arien. Maar hoe is dan mogelijk dat ik dan wel een directory kan aanmaken en/of een copy functie kan gebruken naar een direcrory die al wel bestaat?