[PHP] directory uitlezen van andere server

Pagina: 1
Acties:
  • 120 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Weet iemand of je een dir kan uitlezen vanaf een andere server? ik wil nl wat foto's op internet zetten, maar mijn host (waar is dus php heb) heeft niet genoeg ruimte voor de foto's. Nu heb ik bij xs4all 50 mb, dus daar kan ik ze makkelijk opzetten. Alleen ondersteunen die geen php. nu wil ik dus met een php script op mijn host, foto's binnen halen vanaf de xs4all server..
iemand een oplossing?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

ftp?
of anders de dir index lezen en parsen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
'dir index lezen en parsen'? hoe?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 23 May 2003 @ 14:05:
'dir index lezen en parsen'? hoe?
$dirindex = file("url naar dir");

en dan de entry's eruit halen

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

kun je niet beter de img src naar de xs4all pointen? Dit kan dynamisch volgens Erkens manier; d/l de directory listing en parse deze.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
img src point naar xs4all.

PHP:
1
2
3
4
5
6
7
8
9
$d = file("url");

$fotos = array();
$i = 0;
while(false !== ($entry = $d->read())) {
    $fotos[$i] = $entry;
    $i++;
}
$d->close();


Nu zou er dus in de array $fotos alle img namen uit de thumb map moeten zitten..

en dan krijg je dus dit:
Fatal error: Call to a member function on a non-object in /.......

Het enige wat ik veranderd heb ik trouwens
PHP:
1
$d = dir("url");

naar
PHP:
1
$d = file("url");

[ Voor 46% gewijzigd door Verwijderd op 23-05-2003 14:26 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 23 May 2003 @ 14:20:
Nu zou er dus in de array $fotos alle img namen uit de thumb map moeten zitten..

en dan krijg je dus dit:
Fatal error: Call to a member function on a non-object in /.......
nee, de functie file leest die file in en zet het in een array
doe maar eens een
PHP:
1
print_r($d);

;)


edit:
als je ook eens kijkt naar de html source van die indexfile dan zie je dat elke file een bepaald patroon heeft:
HTML:
1
2
[img]"/icons/image2.gif"[/img] <a HREF="jaguarxk801_1024x768.jpg">
jaguarxk801_1024x768.jpg</a> 23-May-2003 12:29    10k


dit wetende zou je zo de filename kunnen uitlezen via een regex

(ik heb even een entertje toegevoegd voor de filename vanwege de layout)

[ Voor 47% gewijzigd door Erkens op 23-05-2003 14:29 ]


Acties:
  • 0 Henk 'm!

  • BARO
  • Registratie: Mei 2003
  • Laatst online: 05-08 19:47
Je kunt met een PHP-scriptje op de ene server geen bestand van de ene server naar de andere overzetten/uploaden. Dat probleem heb zelf ik eerder ook al gehad.
Je kunt ook niet met je ene PHP-script op de ene server bekijken wat er in de map zit op je andere server.

[ Voor 25% gewijzigd door BARO op 23-05-2003 14:29 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

BARO schreef op 23 May 2003 @ 14:28:
Je kunt met een PHP-scriptje op de ene server geen bestand van de ene server naar de andere overzetten/uploaden. Dat probleem heb zelf ik eerder ook al gehad.
waarom zou dat niet kunnen dan?

Acties:
  • 0 Henk 'm!

  • BARO
  • Registratie: Mei 2003
  • Laatst online: 05-08 19:47
Erkens schreef op 23 mei 2003 @ 14:29:
[...]

waarom zou dat niet kunnen dan?
Ik denk beveiliging, ofzo, maar het kan echt niet. Heb het zelf overal nagevraagd met een scriptje die alle plaatjes uit een map om zou zetten in thumbnails. Als de plaatjes in een map op m'n eigen server stonden en de PHP-file ook, dan lukt alles perfect. Als ik echter alle foto's op m'n Lycos Tripodnet-account zette, en de PHP-file op m'n eigen server, dan kon dat niet.
Ik heb dus overal nagevraagd: Kan niet vanwege beveiliging.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

BARO schreef op 23 mei 2003 @ 14:32:
[...]


Ik denk beveiliging, ofzo, maar het kan echt niet. Heb het zelf overal nagevraagd met een scriptje die alle plaatjes uit een map om zou zetten in thumbnails. Als de plaatjes in een map op m'n eigen server stonden en de PHP-file ook, dan lukt alles perfect. Als ik echter alle foto's op m'n Lycos Tripodnet-account zette, en de PHP-file op m'n eigen server, dan kon dat niet.
Ik heb dus overal nagevraagd: Kan niet vanwege beveiliging.
ik kan prima met php files downloaden/uploaden etc, lijkt me dan een fout in jouw script ;)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

BARO schreef op 23 May 2003 @ 14:32:
[...]


Ik denk beveiliging, ofzo, maar het kan echt niet. Heb het zelf overal nagevraagd met een scriptje die alle plaatjes uit een map om zou zetten in thumbnails. Als de plaatjes in een map op m'n eigen server stonden en de PHP-file ook, dan lukt alles perfect. Als ik echter alle foto's op m'n Lycos Tripodnet-account zette, en de PHP-file op m'n eigen server, dan kon dat niet.
Ik heb dus overal nagevraagd: Kan niet vanwege beveiliging.
inderdaad; een beveiliging van Lycos tegen deeplinking. Deze beveiliging heeft TS geen last van; want hij gebruikt XS4All :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • BARO
  • Registratie: Mei 2003
  • Laatst online: 05-08 19:47
Dat m'n script fout is zou best kunnen, m'n script is te bekijken op www.BartRoorda.nl/GoT/.

[ Voor 36% gewijzigd door BARO op 23-05-2003 14:49 ]


Acties:
  • 0 Henk 'm!

  • BARO
  • Registratie: Mei 2003
  • Laatst online: 05-08 19:47
Spider.007 schreef op 23 mei 2003 @ 14:45:
[...]


inderdaad; een beveiliging van Lycos tegen deeplinking. Deze beveiliging heeft TS geen last van; want hij gebruikt XS4All :)
Ok, vandaar, bedankt :)

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Je kunt op een adere server uiteraard niet zomaar een dir uitlezen om te kijken wat voor bestanden daar in staan. Dat zou mooi worden. Dat is waarschijnlijk ook waarom BARO's script niet werkt.
edit:


Dat is dus zeker waarom BARO's script niet werkt. Heeft nog niks mer reference checks te maken. Via HTTP bestanden inlezen is heel iets anders dan via het filesystem bestanden inlezen!! Dat php voor de simpelheid enkele functies uitgebreid heeft zodat deze ook via http werken doet daar niks aan af.



Wat je wel kunt doen heeft Erkens al aangegeven. Via FTP de inhoud van de dir ophalen, of een door de webserver gegenereerde dirinhoud laten parsen. Je zult dus sowieso wat speciale code moeten maken en niet simpel met dir() werken.

[ Voor 28% gewijzigd door Janoz op 23-05-2003 14:53 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok, tnx

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok, klinkt misschien beetje n00b, maar heb nog nooit met regex gewerkt.

Dit is volgens mij niet goed?:
PHP:
1
2
3
If (eregi("<A HREF=\".*\.jpg$", $d))    {
    echo "dit is een plaatje";
}

en hoe kan ik dan ipv "dit is een plaatje" de filename krijgen zodat ik em in een array kan stoppen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gelukt!:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$d = file("url/");

$filenames = array();
foreach ($d as $d)  {
If (eregi("<A HREF=\".*\.jpg", $d)) {
    $filenames[] = split("\"", $d);
}
}
$fotos = array();
foreach ($filenames as $filename)   {

    $fotos[] = $filename[5];
}


bedankt allemaal
Pagina: 1