2013-04-02 7 views
7

का उपयोग कर वहाँफ़ाइलें अपलोड php में बाकी

मैं नीचे दिए गए कोड का उपयोग करने की कोशिश कर रहा हूँ, सर्वर PHP का उपयोग बाकी का उपयोग करने के एक ग्राहक की ओर से एक फ़ाइल अपलोड करने का कोई तरीका है, और यह मेरे से काम नहीं कर रहा।

<?php 

$file_to_upload = array('file_contents'=>'@c:\\test.txt'); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://localhost/api/upload.php'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSER, TRUE); 
curl_setopt($ch, CURLOPT_UPLOAD, TRUE); 
curl_setopt($ch, CURLOPT_POST,TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload); 
curl_exec($ch) or die(curl_error($ch)); 
$error = curl_error($ch); 
curl_close ($ch); 
echo " Server response: ".$result; 
echo " Curl Error: ".$error; 

?> 

और मेरे upload.php

$uploaddir = realpath('./') . '/'; 
$uploadfile = $uploaddir . basename($_POST['file']['name']); 

echo $uploadfile; 
echo "\n"; 
echo '<pre>'; 
echo $_POST['file']['tmp_name']; 
     if (move_uploaded_file($_POST['file']['tmp_name'], $uploadfile)) { 
      echo "File is valid, and was successfully uploaded.\n"; 
     } else { 
      echo "Possible file upload attack!\n"; 
     } 
     echo 'Here is some more debugging info:'; 

     print_r($_FILES); 
     echo "\n<hr />\n"; 
     print_r($_POST); 
print "</pr" . "e>\n"; 
?> 
+4

मुझे लगता है कि आपको '$ _FILES ['file_contents'] 'और' $ _POST [' file '] '' की तलाश नहीं करनी चाहिए। – user1190992

+0

आह, अब मैं देख रहा हूं, धन्यवाद –

उत्तर

4

मैं तुम्हें $_FILES['file_contents'] और नहीं $_POST['file'] की तलाश में किया जाना चाहिए। - user1190992

7

इस प्रयास करें।

index.php

<?php 
    echo "<pre>"; 
    print_r($_FILES); 
    error_reporting(9); 
    if($_REQUEST['action'] == 'submit') { 
     $ch = curl_init(); 
     $filePath = $_FILES['file_upl']['tmp_name']; 
     $fileName = $_FILES['file_upl']['name']; 
     $data = array('name' => 'Foo', 'file' => "@$filePath", 'fileName' =>$fileName);    
     curl_setopt($ch, CURLOPT_URL, 'http://www.restServiceHost.com/file3/upload.php'); 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
     curl_exec($ch); 
     curl_close($ch); 
    } 
?> 

<form name="file_up" action="" method="POST" enctype="multipart/form-data"> 
Upload your file here 
<input type="file" name="file_upl" id="file_upl"/> 
<input type="submit" name="action" value="submit"/> 
</form> 

और upload.php http://www.restServiceHost.com/file3 में

<?php 
    echo "<pre>"; 
    echo 'in upload.php<br/>'; 
    print_r($_FILES); 
    print_r($_REQUEST); 
    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_REQUEST["fileName"]); 
?> 
संबंधित मुद्दे