PHP tabanlı dosya indirme komut dosyası için sorun giderme çıktı gerekir

0 Cevap php

Ben uzak sunuculara bağlanıyor ve belirli dosyaları indiren bir PHP komut dosyası var. Ancak, komut sadece durduruluyor sorunları çalıştırıyorum. Ben tanı çıktı almak için denemek için bir bağlam kullanıyorum, ama senaryo sadece "Bağlanıyor ..." çıktısı sonra durur. Ben ek çıktı alabilirsiniz bir yolu var mı?

Bu ben kullanıyorum akışı açacağı çağrı:

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));
$handle = @fopen("https://" . $server . "/" . $path, "r", FALSE, $ctx);

Geri arama işlevi, ben STREAM_NOTIFY_PROGRESS hariç tüm çıktı görüntüleniyor duyuyorum.

Bu benim olsun çıktı hepsi:

Connecting...

Ben daha çıktı orada olması gerektiğini düşünüyorum. Hatta ben yuva tamamlandığında haberdar alamadım veya bağlantı kapalı olduğunu fark ettim. Ben dosyayı okumak edildikten sonra "Download Complete", ve bazen yürütme bu çizginin önce durur çıktılar bir çizgi var çünkü bu özellikle endişe verici. Ben komut dosyası zaman aşımına değildir eminim.

Edit As requested, here is the code for the callback function:

function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {

  switch($notification_code) {
    case STREAM_NOTIFY_RESOLVE:
    case STREAM_NOTIFY_AUTH_REQUIRED:
    case STREAM_NOTIFY_COMPLETED:
    case STREAM_NOTIFY_FAILURE:
    case STREAM_NOTIFY_AUTH_RESULT:
      var_dump($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max);
      break;
    case STREAM_NOTIFY_REDIRECTED:
      echo "Being redirected to: ", $message;
      break;
    case STREAM_NOTIFY_CONNECT:
      echo "Connected...";
      break;
    case STREAM_NOTIFY_FILE_SIZE_IS:
      echo "Got the filesize: ", $bytes_max;
      break;
    case STREAM_NOTIFY_MIME_TYPE_IS:
      echo "Found the mime-type: ", $message;
      break;
    case STREAM_NOTIFY_PROGRESS:
      //echo "Made some progress, downloaded ", $bytes_transferred, " so far";
      break;
  }
  echo "\n";
}

0 Cevap