[PHP] move_uploaded_file met FTP wrapper

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Spotmatic
  • Registratie: Februari 2003
  • Laatst online: 13:06

Spotmatic

Ken sent me

Topicstarter
Voor een website heb ik een image uploadfunctie geschreven in PHP. De afbeelding wordt eerst op de betreffende website geüpload, waarna er een resize op los wordt gelaten. Hierna wordt de afbeelding met move_uploaded_file via een FTP wrapper naar een FTP server verplaatst.

De hele procedure werkt perfect, behalve dan dat het misgaat als er al een bestand met dezelfde naam op de FTP server bestaat. Ik heb al het volgende gevonden: http://php.net/manual/en/wrappers.ftp.php
If the remote file already exists on the ftp server and you attempt to open it for writing but have not specified the context option overwrite, the connection will fail. If you need to overwrite existing files over ftp, specify the overwrite option in the context and open the file for writing.
Tot zover is het duidelijk, maar ik begrijp niet hoe ik de overwrite optie in de context kan aangeven.

Mijn betreffende code (die dus perfect werkt behalve als het bestand al bestaat):

code:
1
2
3
if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], "ftp://login:wachtwoord@ftp.server.net/upload/" . $_POST['photoname'])) {
                echo "<ok>1</ok>";  
            }


Iemand een oplossing hiervoor? Ik heb al een aardig tijdje gezocht maar een voorbeeld met move_uploaded_file kan ik niet vinden.

Trotse Volkswagen T1 en T3 bezitter


Acties:
  • 0 Henk 'm!

  • EddoH
  • Registratie: Maart 2009
  • Niet online

EddoH

Backpfeifengesicht

http://www.php.net/manual/en/context.ftp.php

Dit? Bij het createn van de file handle set je de correcte context opties.

edit: iets te snel gelezen, zag niet dat move_uploaded_file file paden als argumenten heeft.

[ Voor 32% gewijzigd door EddoH op 11-07-2013 09:51 ]


Acties:
  • 0 Henk 'm!

  • Spotmatic
  • Registratie: Februari 2003
  • Laatst online: 13:06

Spotmatic

Ken sent me

Topicstarter
Dat voorbeeld is duidelijk maar maakt gebruik van fopen en fputs. Mijn probleem is dat ik niet begrijp hoe dit toe te passen bij move_uploaded_file met een FTP wrapper.

Trotse Volkswagen T1 en T3 bezitter


Acties:
  • 0 Henk 'm!

  • xh3adshotx
  • Registratie: Oktober 2011
  • Laatst online: 28-02-2023
Spotmatic schreef op donderdag 11 juli 2013 @ 09:37:
Dat voorbeeld is duidelijk maar maakt gebruik van fopen en fputs. Mijn probleem is dat ik niet begrijp hoe dit toe te passen bij move_uploaded_file met een FTP wrapper.
Volgens mij niet, en kan je beter http://nl3.php.net/manual/en/function.ftp-put.php gebruiken waarmee het wel mogelijk is.

Acties:
  • 0 Henk 'm!

  • Spotmatic
  • Registratie: Februari 2003
  • Laatst online: 13:06

Spotmatic

Ken sent me

Topicstarter
Jammer, gemakkelijke oplossingen blijken naderhand niet altijd gemakkelijk te zijn. Ik ga het proberen met ftp_put!

Trotse Volkswagen T1 en T3 bezitter


Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 10:38
Kun je niet checken of dat bestand al bestaat en deze eventueel eerst verwijderen?

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • Spotmatic
  • Registratie: Februari 2003
  • Laatst online: 13:06

Spotmatic

Ken sent me

Topicstarter
Maar dat vergt een extra FTP connectie. Maar ik heb het inmiddels opgelost met ftp_put en het werkt nu allemaal prima! Bedankt voor alle input!

Trotse Volkswagen T1 en T3 bezitter

Pagina: 1