dphj737575 2013-11-05 23:44
浏览 54

放置在IF语句中时,Imagecreatefromjpeg无法正常工作

i have a code that generates an image using imagecreatefromjpeg. it's working well, not until i decide to place it inside an if statement. my purspoe of doing that is to check whether a file is uploaded of not. if not, i will just use an image from the server. here is my code. please feel free to edit it. thanks in advance! been working here for hours now...

    if (is_uploaded_file($_FILES[$fieldname]['tmp_name'])) {
      header('Content-Type: image/jpeg');

      $upload = $uploadFilename;
      $im = imagecreatefromjpeg("bg.jpg");
      $img2 = imagecreatefromjpeg($upload);
      $black = imagecolorallocate($im, 0, 0, 0);
      $font = 'arialbi.ttf';
      $font2 = 'ariali.ttf';

      imagettftext($im, 24, 0, 50, 280, $black, $font, $title);
      imagettftext($im, 10, 0, 320, 362, $black, $font, $namehere);

      imagecopymerge($im, $img2, 30, 350, 0, 0, imagesx($img2), imagesy($img2), 100);

      $date_created = date("YmdHis");//get date created
      $img_name = "-img_entry.jpg"; //the file name of the generated image
      $img_newname = $date_created . $img_name; //datecreated+name
      $img_dir =dirname($_SERVER['SCRIPT_FILENAME']) ."/". $img_newname; //the location to save the image 
      imagejpeg($im, $img_dir , 80); //function to save the image with the name and quality

      $newpath = "/home3/site/public_html/Amats/image_entry/";
      $newdir = $newpath.$img_newname;
      copy ($img_dir, $newdir); //copy to new folder para mas madaling iretrieve

      $http_dir = 'http://site.com/Amats/image_entry/';
      $post_link = $http_dir . $img_newname;

      $msg = 'Story by ';
      $post_msg = $msg.$name;

      imagejpeg($im);
      imagedestroy($im);

    }

this is what comes before the if statement above:

    $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);

    // make a note of the directory that will recieve the uploaded files //i made it as the same directory where the .php file is
    $uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self;

    // make a note of the location of the upload form in case we need it
    $uploadForm = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'index.php';

    // make a note of the location of the success page
    $uploadSuccess = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'upload.success.php';

    // name of the fieldname used for the file in the HTML form
    $fieldname = 'file';

    // possible PHP upload errors
    $errors = array(1 => 'php.ini max file size exceeded', 
                    2 => 'html form max file size exceeded', 
                    3 => 'file upload was only partial', 
                    4 => 'no file was attached');

    // check the upload form was actually submitted else print form
    isset($_POST['submit'])
        or error('the upload form is neaded', $uploadForm);

    // check for standard uploading errors
    ($_FILES[$fieldname]['error'] == 0)
        or error($errors[$_FILES[$fieldname]['error']], $uploadForm);

    // check that the file we are working on really was an HTTP upload
    @is_uploaded_file($_FILES[$fieldname]['tmp_name'])
        or error('not an HTTP upload', $uploadForm);

    // validation... since this is an image upload script we 
    // should run a check to make sure the upload is an image
    @getimagesize($_FILES[$fieldname]['tmp_name'])
        or error('only image uploads are allowed', $uploadForm);

    // make a unique filename for the uploaded file and check it is 
    // not taken... if it is keep trying until we find a vacant one
    $now = time();
    while(file_exists($uploadFilename = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name']))
    {
        $now++;
    }
    // now let's move the file to its final and allocate it with the new filename
    @move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploadFilename)
        or error('receiving directory insuffiecient permission', $uploadForm);
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 高缺失率数据如何选择填充方式
    • ¥50 potsgresql15备份问题
    • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
    • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
    • ¥60 pb数据库修改与连接
    • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
    • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
    • ¥20 神经网络Sequential name=sequential, built=False
    • ¥16 Qphython 用xlrd读取excel报错
    • ¥15 单片机学习顺序问题!!