0

Windowsのスケジュールされたジョブを使用して、次のコードを使用してファイルをサーバーに自動更新しています

<?php
   $url="http://example.com/uploadtest";
    $p_date = date('Y_m_d');

    $files = realpath("../daily_backup/$p_date.txt");  //  file name
    echo $files;
    $data=array();
    $data['file']="@".$files;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    $response = curl_exec($ch);
    print_r ($response);
    print_r (curl_getinfo($ch));
    echo $response. "Done";

?>

私のuploadlastページでは、コードは

echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
move_uploaded_file($_FILES["file"]["tmp_name"],
"xml_data/" . $_FILES["file"]["name"]);
echo "Uploaded";

出力は"Uploaded Done"である必要があります 。しかし、私のクライアントシステムでは「完了」しています。*エラーはありませんでした* パスも確認します

しかし、上記のコードは私のシステムで動作します。クライアントシステムに何が欠けていますか? .

注: クライアント システムで xampp を使用しています。

$ch の結果は

  Array ( [url] => http://example.com/uploadtest [content_type] => [http_code] => 0
 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 
[pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 
[speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 
[starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array ( ) 
[primary_ip] => [primary_port] => 0 [local_ip] => [local_port] => 0 [redirect_url] => ) 
4

1 に答える 1

0

関数 curl_getinfo() ( http://us3.php.net/curl_getinfo )を使用して curl オブジェクトをデバッグします。

于 2013-11-11T06:00:06.210 に答える