san_jorich
@san_jorich
Творческий кодер

Почему «не читается» файл загруженный скриптом?

Здравствуйте!
Простит, если вопрос сформулирован некорректно..
Ситуация: Когда файл загружается на сервер через ftp-клиент типа (TotalCommander итд) и получает права 0755 то скрипт его успешно воспроизводит, а когда файл загружается скриптом с правами 0644 то консоль краснеет
Uncaught (in promise) DOMException: Failed to load because no supported source was found., и при переходе по ссылке браузер файл "видит" но воспроизводить не дает..
Как исправить? Если это и-за прав, то как сделать загрузку скриптом с 0755 (и скрипт и браузер используют один аккаунт) ?
Функция загрузки "самая стандартная"
public function uploadFile($fileTo, $fileFrom) {
		$asciiArray = array('txt', 'csv', 'php', 'html', 'htm', 'xml', 'doc', 'docx', 'css', 'js', 'mp3', 'wav');
		$extension = end(explode('.', $fileFrom));
		if (in_array($extension, $asciiArray)) { $mode = FTP_ASCII; } else { $mode = FTP_BINARY; }
		$upload = @ftp_put($this->connectionId, $fileTo, $fileFrom, $mode); chmod($fileTo, 0755);
		if (!$upload) { $this->logMessage('Не удалось загрузить файл!'); return false;}
		else { 
			$this->logMessage('"'.$fileFrom.'" загружен как "'.$fileTo.'"'); 

			return true; 
		}
	}
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@Aricus
chmod($fileTo, 0755);

Насколько я понимаю, загружаете вы файл по ftp, то есть на другой сервер. А изменить права вы пытаетесь на сервере, на котором работает сайт.
ftp_chmod($this->connectionId, 0755, $fileTo);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы