-2
私は、Excelのシートを使って、アプリケーションを書くためにCakePHP 3.2を使用してバルクアップロードプロジェクトに取り組んでいます。PHPのローカルパスから画像を取得
アップロードする画像を与えるための列を持つExcelシートがあります。
ユーザーは、一括アップロードする前に、事前定義されたディレクトリに
- アップロード画像のいずれかで行くと、細胞や画像に画像の名前を与えるために3つの選択肢を持っているパスから選択自動的 になります。
- それがローカルマシン上にある場合は、画像のパスを与える画像(http://website/path/image.jpg)
- の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アップロードを使用した画像アップロードはうまくいきます。しかし、どうすればローカルシステムのパスからイメージを取得して保存することができますか?