Проблемы при перемещении файла

#php

#php

Вопрос:

я пытаюсь переместить файл с помощью следующего кода:

 $f = 'image.jpeg';
$source ='/Waiting/$f';
$destination = '/Excepted/$f';
copy($source, $destination) or die("Error 1");
  

Однако я получаю эту ошибку каждый раз:

 Warning: copy(Waiting/$f) [function.copy]: failed to open stream: No such file or directory in C:xampphtdocsgalleryv2excepted.php on line 13
  

Я понимаю, что это потому, что нет файла, но он не собирает переменные.

Ответ №1:

потому что вы используете ‘ вместо «

ваш код должен быть

 $f = "image.jpeg";
$source ="/Waiting/$f";
$destination = "/Excepted/$f";
copy($source, $destination) or die("Error 1");
  

‘ не работает для переменной $.

пример:

 <?php
$f="file";
echo 'myfile: $f';
echo "<br/>";
echo "myfile: $f";
?>
  

вы увидите следующий результат

 myfile: $f
myfile: file
  

Ответ №2:

Вам нужно использовать двойные кавычки, если вы хотите, чтобы синтаксический анализ переменных работал

 $source = "/Waiting/$f";
  

Комментарии:

1. также известный как интерполяция строк

Ответ №3:

Ваш код должен быть:

 $f = 'image.jpeg';
$source ='/Waiting/'.$f;
$destination = '/Excepted/'.$f;
copy($source, $destination) or die("Error 1");
  

Это означает, что вы объединяете строку Waiting и переменную $f… Это должно сработать…

Надеюсь, это поможет!


Попробуйте использовать это (начиная с PHP 5.0 Linux или PHP 5.3.1 в Windows):

 $f = 'image.jpeg';
$source ='/Waiting/'.$f;
$destination = '/Excepted/'.$f;
rename($source, $destination);
  

Эта функция должна улучшить работу… Он сделает все сразу (создаст файл в новом месте назначения и удалит старый)…

Ответ №4:

попробуйте это

 $f = 'image.jpeg';
$source = "/Waiting/$f"; // both values are in double quotes
$destination = "/Excepted/$f"; // both values are in double quotes
copy($source, $destination) or die("Error 1");
  

надеюсь, это сработает