移动上传的文件问题

时间:2012-11-12 09:37:05

标签: php

<?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(&#39;的display_errors&#39;,1); 使用error_reporting(E_ALL);

  3. 系统正在localhost上运行

  4. 除了move_uploaded_file()函数
  5. 之外,一切正常
  6. 从iframe调用代码。
  7. 此外,我还尝试了目录(文件)和许多替代方案
  8. 请提出问题的解决方案或原因。我是否需要使用第1条线来捕捉错误/警告?我在XAMPP设置版本2.5.8上运行它。我假设因为我能够创建文件,所以我有权将文件移动到文件夹。我想在本地主机上没有权限的麻烦吗?

1 个答案:

答案 0 :(得分:0)

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

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

代码示例,

if (copy($old_file, $new_file)) {
    unlink($old_file);
}