[PHP] copy over ftp, returned true maar geen identieke files

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • gnirts_modnar
  • Registratie: Juni 2007
  • Laatst online: 19-04 08:52
Hallo allemaal,

Ik heb een probleem met de copy() functie uit php, de functie copy geeft true als result maar de filesizes komen niet overeen. Ik heb inmiddels verschillende bestanden geprobeerd, en het lijkt er op dat gewoon de laatste 20 / 30 kb niet mee komt. Ik gebruik aan de ene kant apache op debian, en aan de ftp zijde de reguliere ftp mod van IIS.

De volgende code:

PHP:
1
2
3
4
5
6
7
$name = 'test.pdf';
$output = 'public/_proforma/' .  $name;
    if(!copy($output,'ftp://username:xxx@xx/test/' . $name))    {
        echo "<h3 style='color:red'>Bestand niet correct gekopieerd</h3>";
    }
echo filesize($output) . "<br />";
echo filesize('ftp://xxxxx:xxxxxx@fs/test/' . $name);


resulteert hierin:

174709
161024

Heeft iemand een idee hoe dit zou kunnen komen, ik heb al het nodige gegoogled maar ik kan niets vinden.

bvd

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:47

TeeDee

CQB 241

Heb je het pdf bestand wel aan de andere kant kunnen openen zonder problemen?

[ Voor 3% gewijzigd door TeeDee op 20-02-2008 12:43 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

Verwijderd

Wat dacht je van het ftp gereutel wat wordt mee geteld met je tweede filesize statement?

Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Verwijderd schreef op woensdag 20 februari 2008 @ 12:46:
Wat dacht je van het ftp gereutel wat wordt mee geteld met je tweede filesize statement?
Dan zou het al helemaal raar zijn dat de tweede waarde kleiner is dan de originele file ;)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • Japius
  • Registratie: April 2003
  • Laatst online: 30-08 20:57
Maareuh....
TeeDee schreef op woensdag 20 februari 2008 @ 12:42:
Heb je het pdf bestand wel aan de andere kant kunnen openen zonder problemen?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Wat nog wel eens een probleem was bij ftp is het uploaden/downloaden van files in 'ascii' vs 'binary' mode. Bij ascii worden de newlines vervangen door die van het platform waar je naar upload geloof ik. Maar in dit geval zou dat net andersom moeten zijn.

Het alternatief is natuurlijk dat de download/filesize-call niet klopt en dat je op de iis-server moet kijken of het ook echt niet goed gegaan is.

Als alternatief kan je proberen om met de ftp of curl-extenties van php te werken.

Acties:
  • 0 Henk 'm!

  • gnirts_modnar
  • Registratie: Juni 2007
  • Laatst online: 19-04 08:52
Nee ik kan het bestand ook niet meer openen. Het lijkt wel alsof gewoon de laatste 20kb niet mee verzonden wordt.

Acties:
  • 0 Henk 'm!

  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Probeer de bestanden eens door middel van een crc of md5 checksum met elkaar te vergelijken. Hoe lees je trouwens de filesize af op de IIS server?

Acties:
  • 0 Henk 'm!

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 11-09 20:13
Als je nu gewoon eens een tekstbestandje probeert te versturen, wat krijg je dan?

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Maar waarom gebruik je niet de standaard php FTP functies zoals ftp_size() en ftp_fput()? Copy is in het eerste instantie bedoeld voor het kopieren van lokale bestanden. Dat copy ook de ftp protocol wrapper accepteert betekend nog niet dat het verstandig is om het op deze manier te doen.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • gnirts_modnar
  • Registratie: Juni 2007
  • Laatst online: 19-04 08:52
Oke even een reactie op de laatste drie posts:

Tekstbestand ==> Zelfde resultaat.

Waarom ik copy gebruik: Omdat ftp wrappers ondersteund worden en ik dit een snelle / praktische manier vind. Ik gebruik nooit ftp functies voor dergelijke dingen. Ik gebruik eigenlijk altijd copy en de f* consorten, en daar heb ik nog nooit problemen mee gehad. Wellicht kan je mij vertellen waarom het onverstandig is?

Filesize constateerde ik door beide directories (smbfs mount & een netwerk share) in explorer te bekijken. Daarna hexeditor gebruikt en filesize functie in php. Via hexeditor was duidelijk zichtbaar dat het bestand op een bepaalt moment wordt afgekapt.

Acties:
  • 0 Henk 'm!

  • gnirts_modnar
  • Registratie: Juni 2007
  • Laatst online: 19-04 08:52
Beste mensen,

Ik word waarschijnlijk direct gefussilleerd omdat ik dit topic schop maar ik ben van mening dat het niet onnodig is. Ik zit nog steeds met dit nare probleem, en ik hoop toch oprecht dat iemand weet wat het probleem is.

Of is het misschien zo ernstig dat we een bugreport op php.net in moet gaan dienen.

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 16:14

pietje63

RTFM

Textbestand, gewoon een lang genoeg .txt bestand? Wat lees je dan als je dat bestand opent? Is het pure onzin, lijkt het nog op de orginele tekst? Etc.?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

Verwijderd

gnirts_modnar schreef op woensdag 20 februari 2008 @ 13:50:
Oke even een reactie op de laatste drie posts:

Tekstbestand ==> Zelfde resultaat.

...
Doe anders eens het resultaat. print beide text-files eens en doe een similar_text() op ze ofzo.

Acties:
  • 0 Henk 'm!

  • gnirts_modnar
  • Registratie: Juni 2007
  • Laatst online: 19-04 08:52
Nou hij breekt het bestand telkens op hetzelfde punt af. Ik heb inmiddels de hoop opgegeven en ben nu de ftp functies gaan gebruiken die werken wel.
Pagina: 1