Gå til innhold

Endre navnet på en mappe, får feilmelding [LØST]


Anbefalte innlegg

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 av ThaMezzy
Lenke til kommentar
Videoannonse
Annonse
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

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

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:

 

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

 

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...