Przesyłanie pliku xml

0

Witam

pod linkiem do strony:

http://www.przyklad.pl/xml znajduje się plik xml który pobiera się automatycznie, natomiast ja chciałbym ,żeby plik xml z tego linku przesyłał się od razu na hosing (home.pl) do konkretnego katalogu i nadpisywał poprzedni plik z taka samą nazwą np: (xml123)

prosiłbym o jakieś propozycje rozwiązania tego problemu.

0
  1. co to znaczy "pobiera się automatycznie"? - samo nic się nie pobiera
  2. coś musi inicjować przesyłanie
  3. jeśli to ma być PUSH a nie PULL to potrzebujesz po docelowej stronie np. FTPa albo SFTPa
0

zoba libke cURL

0

Wybaczcie kiepski opis, właśnie miałem na myśli inicjacje pobierania a następnie zapis na mój hosting do odpowiedniego folderu folderu (home.pl), prosiłbym o jakąś sugestie czego konkretnie szukać a dalej już sobie sam poradzę.

0
if(file_exists('path/plik.png')){
	// Set CURL
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, "url do funkcji ktora przetwarza plik na serwerze");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	
	// jesli jest ssl to uncomment
	//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

	// Add files depends on version PHP
	$version = explode('.', phpversion());
	if($version[0]>=5 && $version[1]>=5){
		$file = new CURLFile(realpath('path/plik.png'));
		$file->setPostFilename('plik.png');
	}else{
		$file = '@' . realpath('/path/plik.png');
	}
	// Send files and parms
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt(
		$ch,
		CURLOPT_POSTFIELDS,
		array(
			'haselko' => 'haselko zeby tylko osoby znajace haslo mogly wrzucic / edytowac plik',
			"file" => $file
		)
	);
	// Get response
	$response = curl_exec($ch);
	curl_close($ch);
}

a po stronie serwera umieszczasz funkcje która zczytuje ten plik tak jakby byl wysyłany przez formularz i porównuje hasełko czy się zgadza

0
goldpaid777 napisał(a):
if(file_exists('path/plik.png')){
	// Set CURL
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, "url do funkcji ktora przetwarza plik na serwerze");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	
	// jesli jest ssl to uncomment
	//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

	// Add files depends on version PHP
	$version = explode('.', phpversion());
	if($version[0]>=5 && $version[1]>=5){
		$file = new CURLFile(realpath('path/plik.png'));
		$file->setPostFilename('plik.png');
	}else{
		$file = '@' . realpath('/path/plik.png');
	}
	// Send files and parms
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt(
		$ch,
		CURLOPT_POSTFIELDS,
		array(
			'haselko' => 'haselko zeby tylko osoby znajace haslo mogly wrzucic / edytowac plik',
			"file" => $file
		)
	);
	// Get response
	$response = curl_exec($ch);
	curl_close($ch);
}

a po stronie serwera umieszczasz funkcje która zczytuje ten plik tak jakby byl wysyłany przez formularz i porównuje hasełko czy się zgadza

chyba nie w tą stronę. chodzi o pobieranie a nie wysyłanie pliku :)

Jeśli automatycznie to użyj cronjob

$xml = file_get_contents("http://costam.com/plik.xml"); // pobiera zawartość pliku 
$file = fopen("plik.xml","w+"); // otwiera (lub tworzy) plik
fputs($file,$xml); // wprowadza pobraną zawartość pliku
fclose($file); // zamyka funkcję fopen() i gotowe! ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1