2009-11-08 10 views

risposta

13

non lo faccio, se si desidera che il webservice per caricare/scaricare file. In ogni caso è possibile utilizzare curl (http://fr.php.net/curl) per caricare/scaricare file da altri server web.

Per ottenere alcuni file caricati sul webservice dall'utente è praticamente uguale a quello ottenuto da un modulo, utilizzare la variabile superglobale: $ _ FILES (doc) per ottenere file di caricamento.

per il caricamento da PHP ad un webservice

$fullflepath = 'C:\temp\test.jpg'; 
$upload_url = 'http://www.example.com/uploadtarget.php'; 
$params = array(
'photo'=>"@$fullfilepath", 
'title'=>$title 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_URL, $upload_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 
$response = curl_exec($ch); 
curl_close($ch); 

il webservice per ottenere un file

$uploads_dir = '/uploads'; 
foreach ($_FILES["photo"]["error"] as $key => $error) { 
    if ($error == UPLOAD_ERR_OK) { 
     $tmp_name = $_FILES["photo"]["tmp_name"][$key]; 
     $name = $_FILES["photo"]["name"][$key]; 
     move_uploaded_file($tmp_name, "$uploads_dir/$name"); 
    } 
} 

PS: Ci scusiamo per qualche motivo StackOverflow non piace a fare un link di $_FILES .. quindi ho collegato la pagina superglobals invece

+0

sapevi che usando SOAP, i servizi web –

+0

per un servizio di soap penso che tu debba codificare il file in base64, vedi la funzione 'base64_encode' per quello scopo – RageZ

+0

Sto ricevendo un codice di errore 415 arricciato ... pls help – rajmohan

0

Ciao Qui Esempio Image upload

<?php 



$path="aa/";// Set your path to image upload 
if(!is_dir($path)){ 
mkdir($path); 
} 
$roomPhotoList = $_POST['image']; 
$random_digit=date('Y_m_d_h_i_s'); 
$filename=$random_digit.'.jpg'; 
$decoded=base64_decode($roomPhotoList); 
file_put_contents($path.$filename,$decoded); 

?> 

può essere veloce il codice caricamento delle immagini in php per IOS e Android