0
<?php
ini_set('display_errors',1);
error_reporting(E_ALL); 
    session_start();
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
    $ext=$_GET['ext'];
    $src = $_GET['p'];

    $img_r = imagecreatefromjpeg($src);
    $dst_r = imagecreatetruecolor( $targ_w, $targ_h );

    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
    $targ_w,$targ_h,$_POST['w'],$_POST['h']);

    unlink($src);
    imagejpeg($dst_r,$src,$jpeg_quality);
    rename($src,"img/temp_images/".$_SESSION['userid'].".".$ext);

    $result=move_uploaded_file(
                        "/img/temp_images/".$_SESSION['userid'].".$ext",

                        "/img/".$_SESSION['userid'].".$ext");
    if($result)
    echo "Success";
    else
    echo "<br>Fail";


?>
  1. 安全模式已关闭
  2. 尽管输入了以下代码,但没有显示错误

    ini_set('display_errors',1); 错误报告(E_ALL);

  3. 系统在本地主机上运行

  4. 一切正常,除了 move_uploaded_file() 函数
  5. 代码是从 iframe 调用的。
  6. 我也尝试过目录(FILE)和许多替代方案

请提出问题的解决方案或原因。我是否需要使用前 3 行在某处捕获错误/警告?我在 XAMPP 设置版本 2.5.8 上运行它。我假设因为我能够创建文件,所以我有权将文件移动到文件夹中。而且我猜在本地主机上没有权限的麻烦?

4

1 回答 1

0

您正在使用 GD 库创建新图像。而不是move_uploaded_file()尝试使用copywhich 将文件从一个位置移动到另一个位置

http://php.net/manual/en/function.copy.php

代码示例,

if (copy($old_file, $new_file)) {
    unlink($old_file);
}
于 2012-11-12T09:42:03.790 回答