ThaMezzy Skrevet 9. mars 2006 Del Skrevet 9. mars 2006 (endret) Jeg har et script som skal si hvor f.eks bilder til mitt galleri skal havne. Hvis jeg endrer navnet på den mappen i et input felt så skal den endre mappenavnet via php. Hvis jeg skriver f.eks "bilder/" i input feltet, men mappa heter "galleri/" fra før så skal "galleri/" bli endret til "bilder/". Jeg prøvde med denne koden: <?php $smiley_dir2 = '/'.Smiley.''; $blogg_dir2 = '/'.Blogg.''; $galleri_dir2 = '/'.Galleri.''; $ord_dir2 = '/'.Ord.''; $header_dir2 = '/'.Header.''; $smiley_dir3 = '/'.$smiley_dir.''; $blogg_dir3 = '/'.$blogg_dir.''; $galleri_dir3 = '/'.$galleri_dir.''; $ord_dir3 = '/'.$ord_dir.''; $header_dir3 = '/'.$header_dir.''; rename($smiley_dir2, $smiley_dir3); rename($blogg_dir2, $blogg_dir3); rename($galleri_dir2, $galleri_dir3); rename($ord_dir2, $ord_dir3); rename($header_dir2, $header_dir3); ?> Jeg har sjekket alle variablene og de blir satt. Jeg får denne meldingen: Warning: rename(/galleri/,/bilder/): Ingen slik fil eller filkatalog in /home/******/public_html/innstillinger.php on line 337 Jeg har selvfølgelig sjekket at alle mapper finnes fra før. Jeg prøvde uten de mappe greiene i variablene og den samme meldingen kommer. Hva er feil? Takker for svar på forhånd! Endret 9. mars 2006 av ThaMezzy Lenke til kommentar
MC2 Skrevet 9. mars 2006 Del Skrevet 9. mars 2006 (endret) må det ikke være rename("/home/******/public_html/galleri/","/home/******/public_html/bilder/"):? hele pathen altså. edit: og gåseøyne Endret 9. mars 2006 av MC2 Lenke til kommentar
ThaMezzy Skrevet 9. mars 2006 Forfatter Del Skrevet 9. mars 2006 må det ikke være rename("/home/******/public_html/galleri/","/home/******/public_html/bilder/"):? hele pathen altså. edit: og gåseøyne 5726791[/snapback] Gjorde alt dette nå, og dette funket heller ikke. Samme feilmelding. Lenke til kommentar
CruellaDeVille Skrevet 9. mars 2006 Del Skrevet 9. mars 2006 Denne lille kodesnutten forklarer rename()-funksjonen i php <?php /* * Henter ut full dokumentsti til mappen scriptet er i */ $path = getenv(DOCUMENT_ROOT); /* * $mydir er en mappe jeg alt har på serveren * i document_root * Kan også bruke variabler slik: * Eksempelvis blir det slik istedetfor * $myFolderForRenaming = '/testdir'; * $mydir = $path . $myFolderForRenaming; */ $mydir = $path. "/testdir"; /* Denne stien kan være relativ (siste del) */ /* Eksempel på en relativ sti: * $mydir = $path. "/testdir/otherdir/folderIwantToRename"; */ /* * Gir $mydir et nytt navn, kan også bruke variabler * Eks $myOtherDir = '/mappe_med_nytt_navn'; * rename($mydir, $path .$myOtherDir); */ rename($mydir, $path. "/mydir"); ?> Lenke til kommentar
ThaMezzy Skrevet 9. mars 2006 Forfatter Del Skrevet 9. mars 2006 CruellaDeVille: Nå får jeg denne feilmeldingen etter å ha prøvd det du sa: Warning: rename(/home/******/public_html/galleri/,/bilder/): Ikke tilgang in /home/******/public_html/innstillinger.php on line 377 Mappene er chmod'et 777. Lenke til kommentar
CruellaDeVille Skrevet 9. mars 2006 Del Skrevet 9. mars 2006 CruellaDeVille: Nå får jeg denne feilmeldingen etter å ha prøvd det du sa: Warning: rename(/home/******/public_html/galleri/,/bilder/): Ikke tilgang in /home/******/public_html/innstillinger.php on line 377 Mappene er chmod'et 777. 5727497[/snapback] Kan ikke du paste inn koden du bruker? Lenke til kommentar
ThaMezzy Skrevet 9. mars 2006 Forfatter Del Skrevet 9. mars 2006 http://www.webforumet.net/pastebin/v.php?id=74 Lenke til kommentar
CruellaDeVille Skrevet 9. mars 2006 Del Skrevet 9. mars 2006 http://www.webforumet.net/pastebin/v.php?id=74 5727889[/snapback] La oss si at mappen for $dir er skrivbar (chmod 777) Så oppretter du mappen Smiley, Blog, Gallery osv etc. Er de også 777? Med mindre du eksplisitt setter chmod 777 rekursivt i mappen $dir vil alle undermapper kanskje få andre tilgangsrettingheter (eks chmod 755, som jeg mener å huske er standard) Siden feilmeldingen din er at du ikke har tilgang vil jeg tro at det har noe med tilgangsrettigheter på undermapper. Kan ikke du sjekke det iallfall? Og en ting til: Denne delen av koden kan gjøres enklere: # if(file_exists($blogg_dir3) AND $blogg_dir3 == $blogg_dir2) { # # } # else # { # rename($blogg_dir2, $blogg_dir3); # } dette kan gjøres om til en negasjon: if(!(file_exists($blogg_dir3) AND $blogg_dir3== $blogg_dir2)){ rename($blogg_dir2, $blogg_dir3); } ( sparer noen linjer kode, egentlig ikke noe mer enn det. Lenke til kommentar
ThaMezzy Skrevet 9. mars 2006 Forfatter Del Skrevet 9. mars 2006 (endret) Nå funket det. Jeg chmod'et public_html til 777 så funket det. Jeg chmod'et selvfølgelig alle viktig ting tilbake. Takker for all hjelp her. Endret 9. mars 2006 av ThaMezzy Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå