/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
symlink()
Fra : scootergrisen


Dato : 19-10-10 20:05

Jeg forsøger at oprette et symbolsk link på linux.

$target = '/hjemmeside/download/';
$link = '/hjemmeside/download/dialog/download/';
symlink($target, $link)

Jeg får denne fejl :

Symlink(): Ingen s�dan fil eller filkatalog

Hvis jeg gennem en FTP klient opretter mappen manuelt som en almindelig
mappe : /hjemmeside/download/dialog/download/
Også køre koden igen... så får jeg denne fejl besked :

Symlink(): Filen eksisterer

Så stien må da være rigtig tænker jeg men hvorfor bliver sym linket ikke
oprettet ?
Jeg har skrevet til min webhotel udbyder og fik afvide at symlink()
skulle kunne bruges.

 
 
Martin Larsen (19-10-2010)
Kommentar
Fra : Martin Larsen


Dato : 19-10-10 21:15

scootergrisen wrote:

> $target = '/hjemmeside/download/';
> $link = '/hjemmeside/download/dialog/download/';
> symlink($target, $link)

Prøv med

$target = '/hjemmeside/download';

Altså ingen afsluttende skråstreg.

Martin Larsen (19-10-2010)
Kommentar
Fra : Martin Larsen


Dato : 19-10-10 21:30

Hov!

Du skal bruge den rigtige absolutte adresse. Hjemmesiderne starter næppe
direkte fra roden, men snarer under /var/www/hjemmeside etc.

Det kan du finde ud af med kommandoen

echo realpath('.');

Du kan også bruge relative stier, fx

$target = 'download';
$link = 'download/dialog/download';
symlink($target, $link)

Bemærk at med den struktur skal du passe på rekursivitet, ala:

cd download/dialog/download/dialog/download/dialog osv.


Martin Larsen wrote:
> scootergrisen wrote:
>
>> $target = '/hjemmeside/download/';
>> $link = '/hjemmeside/download/dialog/download/';
>> symlink($target, $link)
>
> Prøv med
>
> $target = '/hjemmeside/download';
>
> Altså ingen afsluttende skråstreg.


Martin Larsen (19-10-2010)
Kommentar
Fra : Martin Larsen


Dato : 19-10-10 21:32

Martin Larsen wrote:

> $target = 'download';
> $link = 'download/dialog/download';
> symlink($target, $link)

Og husk at oprette dialog før du laver symlinket!

scootergrisen (19-10-2010)
Kommentar
Fra : scootergrisen


Dato : 19-10-10 22:25

Jeg syns jeg har prøvet alt med både absolutte stier og relative.
Oprette dialog ? Hvad mener du med det ?

Den 19-10-2010 22:31, Martin Larsen skrev:
> Martin Larsen wrote:
>
>> $target = 'download';
>> $link = 'download/dialog/download';
>> symlink($target, $link)
>
> Og husk at oprette dialog før du laver symlinket!

Martin Larsen (19-10-2010)
Kommentar
Fra : Martin Larsen


Dato : 19-10-10 22:35

scootergrisen wrote:

> Jeg syns jeg har prøvet alt med både absolutte stier og relative.

Også med den sti som realpath() oplyser?

> Oprette dialog ? Hvad mener du med det ?

Mappen dialog skal oprettes. Det siger næsten sig selv, jeg gør bare
opmærksom på det for en sikkerheds skyld.

I øvrigt har jeg netop prøvet på min server med symlink(), det fungerer
fint.

scootergrisen (19-10-2010)
Kommentar
Fra : scootergrisen


Dato : 19-10-10 23:27

realpath('.') viser den samme sti som jeg har prøvet men jeg prøvede
også at sætte realpath('.') men hjalp ikke.

Nu prøvede jeg så at fjerne det sidste / fra $link også virker det :)
Syns bare jeg havde prøvet alt.

SÃ¥ nu ser det ud som om det virker.

Altså dette virker ikke...
$link = '/hjemmeside/download/dialog/download/';
Men det virker...
$link = '/hjemmeside/download/dialog/download';

Det vel fordi at det symbolske link der skal oprettes er en fil og når
stien ender på / så det jo en mappe.

Nå men nu har jeg så et andet problem. Men det handler om Filezilla så
vil prøve og spørge i den rigtige gruppe fordi jeg kan ikke se symbolske
links i filezilla.

Tak for hjælpen :)


Den 19-10-2010 22:30, Martin Larsen skrev:
> Hov!
>
> Du skal bruge den rigtige absolutte adresse. Hjemmesiderne starter næppe
> direkte fra roden, men snarer under /var/www/hjemmeside etc.
>
> Det kan du finde ud af med kommandoen
>
> echo realpath('.');
>
> Du kan også bruge relative stier, fx
>
> $target = 'download';
> $link = 'download/dialog/download';
> symlink($target, $link)
>
> Bemærk at med den struktur skal du passe på rekursivitet, ala:
>
> cd download/dialog/download/dialog/download/dialog osv.
>
>
> Martin Larsen wrote:
>> scootergrisen wrote:
>>
>>> $target = '/hjemmeside/download/';
>>> $link = '/hjemmeside/download/dialog/download/';
>>> symlink($target, $link)
>>
>> Prøv med
>>
>> $target = '/hjemmeside/download';
>>
>> Altså ingen afsluttende skråstreg.
>

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste