PHP保存文件至指定目錄


 

/**
 * 保存文件至指定目錄
 * @param string $url 文件地址
 * @param string $save_dir 保存目錄
 * @param string $filename 保存文件名
 * @param int $type 本地文件為0;網絡文件1、0皆可
 * @return array|bool
 */
function save_web_file($url, $save_dir = '', $filename = '', $type = 0)
{
  if (trim($url) == '') return false;

  if (trim($save_dir) == '') $save_dir = './';

  if (0 !== strrpos($save_dir, '/')) $save_dir .= '/';

  //保存目錄檢測,不存在則創建
  if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
    return false;
  }

  //網絡文件
  if ($type) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $content = curl_exec($ch);
    curl_close($ch);
  } else {
    ob_start();
    readfile($url);
    $content = ob_get_contents();
    ob_end_clean();
  }
  $size = strlen($content);  //文件大小
  $fp2 = @fopen($save_dir . $filename, 'a');
  fwrite($fp2, $content);
  fclose($fp2);
  unset($content, $url);
  return array(
    'file_name' => $filename,
    'save_path' => $save_dir . $filename,
    'file_size' => $size
  );
}



    $url = 'http://dl.ppt123.net/pptbj/201603/2016030410190920.jpg';

    // echo '<img src="' . $url . '">';

    $save_path = 'Uploads';
    
    $path_parts = pathinfo($url);
    $file_name = time() . '.' . $path_parts['extension'];
    
    $res = save_web_file($url, $save_path, $file_name, 0);
    var_dump($res);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM