2016-09-13 11 views
-2

私は、Excelのシートを使って、アプリケーションを書くためにCakePHP 3.2を使用してバルクアップロードプロジェクトに取り組んでいます。PHPのローカルパスから画像を取得

アップロードする画像を与えるための列を持つExcelシートがあります。

ユーザーは、一括アップロードする前に、事前定義されたディレクトリに

  1. アップロード画像のいずれかで行くと、細胞や画像に画像の名前を与えるために3つの選択肢を持っているパスから選択自動的 になります。
  2. それがローカルマシン上にある場合は、画像のパスを与える画像(http://website/path/image.jpg
  3. のURLを与えます。 。例、C:\ユーザー\写真\ image.jpg場合、および /home/user/picture/image.jpgかのLinuxの

これは、画像を保存するために何をしているのですか?

$p_image = $objWorksheet->getCellByColumnAndRow(30, $row)->getValue(); 
if (filter_var($p_image, FILTER_VALIDATE_URL)) { 
    // get image from url 
    $full_image_path = $p_image; 
} else { 

    // get image from folder 
    $path = Configure::read('media.bulkUpload.pre.product'); 

    // full path of the image from root directory 
    $full_image_path = $path . DS . $p_image; 
} 
$upload_path = Configure::read('media.upload') . DS . 'files' . DS; 

// new name of image 
$img_new_name = uniqid('img_').round(microtime(true) * 1000).rand(1,100000); 

if ($full_image_path) { 

    // generate uuid directory name 
    $dir = Text::uuid(); 
    // create new directory 
    mkdir($upload_path.$dir, 0777, true); 

    // save file 
    try { 
    $img = new \abeautifulsite\SimpleImage($full_image_path); 

    // save image of original size 
    $img->best_fit(850,1036)->save($upload_path.$dir.'/'.$img_new_name.'.jpg'); 

    } catch(Exception $e) { 
     echo 'Error: '.$e->getMessage(); 
    } 
} 

URLアップロードとプリFTPアップロードを使用した画像アップロードはうまくいきます。しかし、どうすればローカルシステムのパスからイメージを取得して保存することができますか?

答えて

3

ユーザーがイメージを自分でアップロードすることはできません。あなたはあなたのPHPを実行する外部サーバーからクライアントのファイルシステムからファイルを取得することはできません。

関連する問題