我有一个有效的drupal批处理过程。在其中,我想使用 PHP 复制功能将图像文件 (JPG) 从源目录复制到目标目录。两个目录都存在。源文件也确实存在。但是复制没有成功。
我检查了源目录(0755)和源文件(0744)和目标目录(0755)的文件权限。所有者和组是脚本的所有者和组。
我通过将复制成功放入看门狗进行调试。它说它是成功的。但该文件不存在。
这是复制发生的代码
$copy_from = $_SERVER["DOCUMENT_ROOT"]."/".$file->filepath;
$copy_to = $_SERVER["DOCUMENT_ROOT"]."/".$path_new;
$success = false;
if (file_exists($copy_from)) {
$success = copy($copy_from, $copy_to);
watchdog('catalog_copy2', ($success ? 'yes' : 'no')
. ' | ' . "copy('{$copy_from}', '{$copy_to}')");
}
如果我复制看门狗输出并稍微编辑它以最终以 shell 复制顺序结束
cp path/to/file dest_path
该文件被复制而没有任何模糊。因此,没有错别字和区分大小写的问题。
我显然几乎疯了,因为我不明白为什么我不能用 PHP 复制文件。
奇怪的是,有些文件是用我的批次复制的,有些不是。
我将不胜感激在哪里寻找解决方案的任何提示。
编辑
cp
我已经通过使用 php命令的 shell 命令解决了这个问题exec
。我对此不满意,但我必须让它发挥作用。
编辑
我通过使用 file_field 模块中的 API 函数规避了这个问题