загрузка изображения в облачное хранилище Google из экземпляра вычислительного движка - PullRequest
0 голосов
/ 01 января 2019

Мне нужна ваша помощь с загрузкой файла изображения из экземпляра Google Compute Engine в облачное хранилище Google.Я смог переместить изображение из формы внешнего интерфейса с помощью php с помощью обычной функции move_uploaded_file, но реальные проблемы возникают, когда я пытаюсь скопировать этот файл в облачное хранилище Google в сценарии php с помощью команды gsutil.После быстрой отладки я нашел эти результаты

**Tue Jan 01 04:45:12.491702 2019] [core:notice] [pid 8539] AH00094: Command line: '/usr/sbin/apache2'
sh: 1: /var/www/includes/multimediaStorage.sh/var/www/html/uploads/markii.jpg: not found
sh: 1: /var/www/includes/unloadUploads.sh/var/www/html/uploads/markii.jpg: not found
baraka_ben@igroup1us-xszd:/var/log/apache2$ cd /var/www/html/uploads/
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ ls
markii.jpg
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ ls -lh
total 4.0K
-rw-r--r-- 1 www-data www-data 3.0K Jan  1 04:50 markii.jpg
baraka_ben@igroup1us-xszd:/var/www/html/uploads$** 

Но опять же, если я попробую ту же команду в среде консоли SSH оболочки, она будет работать без проблем, как показано ниже

baraka_ben@igroup1us-xszd:/var/www/html/uploads$ gsutil cp markii.jpg gs://bucket/Folder/SubFolder
Copying file://markii.jpg [Content-Type=image/jpeg]...
/ [1 files][  2.9 KiB/  2.9 KiB]                                                
Operation completed over 1 objects/2.9 KiB.                                      
baraka_ben@igroup1us-xszd:/var/www/html/uploads$ 

notaниже приведенное здесь имя контейнера не соответствует действительности, а скрипт multimediaStorage.sh содержит синтаксис команды, аналогичный приведенному выше коду.Теперь я застрял, пытаясь выяснить права на владение папками и файлами и права доступа, сделав пользователя "www-data" владельцем папки / var / www / html / uploads, но, похоже, это не поможет.,Пожалуйста, помогите мне преодолеть это препятствие.Здесь моя часть сценария php, связанная с этим вопросом

if (!empty($_FILES['picha']) && $_FILES['picha']['error'] == UPLOAD_ERR_OK) {
   $tmpName = $_FILES['picha']['tmp_name'];
   $name = basename($_FILES['picha']['name']);
   $desnation="/var/www/html/uploads/$name";

   $message=move_uploaded_file($tmpName,$desnation);
   $repository=$desnation;
   $destiny="gs://BucketName/Folder/Subfolder/";
   $execution="/var/www/includes/multimediaStorage.sh";
   $destination ='gs:BucketName/Folder/Subfolder/'."$name";
   $combination="$repository $destiny";
   exec($execution.''.$combination);
   $clearence="/var/www/includes/unloadUploads.sh";
   array_push($Patharray,$destination);
   // unlink("/var/www/html/uploads/$filename");
   exec($clearence.''.$repository);
}

С Новым 2019 годом и СПАСИБО В НАПРАВЛЕНИИ!

...