Вы можете просто
if (@copy($url,$upload_path)) {
$hash = sha1_file($upload_path);
}
$upload_path
уже содержит значение, которое необходимо передать sha1_file()
.
И, как правило, оператор @
является злом. Я признаю, что это конкретное использование, возможно, допустимо, но, как правило, его следует рассматривать как последнее средство.