Jump to content

Recommended Posts

Hello-

 

  I wrote a script to process a bunch of images.  It creates a dir structure of CUSTOMERSNAME/images/thumbs and copies the respective images into it after resizing them.  But for some reason, the script stops processing after about 30 seconds.  I thought it was the max execution time or the "set_time_limit(0)" but that didn't work.  I start the script from CreateCustomer($name).  And btw, there aren't any errors being reported and it is seeing all of the images available.  It just STOPS.  I host on godaddy if that makes any difference.  Btw, I made a few adjustments to this code to remove directory structures and password info but nothing that would effect the code (just in case something looks funny.)  Please help.  This is for a client and I just CANNOT figure it out...

 

Thanks,

 

    Josh

 

<?php

error_reporting(E_ALL);

ini_set("register_globals", "on");

ini_set("max_input_time", "-1");

ini_set("upload_tmp_dir", "/tmp");

set_time_limit(0);

ini_set("max_execution_time","10000000000000");

 

function  delete_directory($dirname)  {

        if  (is_dir($dirname))

                $dir_handle  =  opendir($dirname);

        if  (!$dir_handle)

                return  false;

        while($file  =  readdir($dir_handle))  {

                if  ($file  !=  "."  &&  $file  !=  "..")  {

                        if  (!is_dir($dirname."/".$file))

                                unlink($dirname."/".$file);

                        else

                                delete_directory($dirname.'/'.$file);                       

                }

        }

        closedir($dir_handle);

        rmdir($dirname);

        return  true;

 

function open_image ($file) {

        # JPEG:

        $im = @imagecreatefromjpeg($file);

        if ($im !== false) { return $im; }

 

        # GIF:

        $im = @imagecreatefromgif($file);

        if ($im !== false) { return $im; }

 

        # PNG:

        $im = @imagecreatefrompng($file);

        if ($im !== false) { return $im; }

 

        # GD File:

        $im = @imagecreatefromgd($file);

        if ($im !== false) { return $im; }

 

        # GD2 File:

        $im = @imagecreatefromgd2($file);

        if ($im !== false) { return $im; }

 

        # WBMP:

        $im = @imagecreatefromwbmp($file);

        if ($im !== false) { return $im; }

 

        # XBM:

        $im = @imagecreatefromxbm($file);

        if ($im !== false) { return $im; }

 

        # XPM:

        $im = @imagecreatefromxpm($file);

        if ($im !== false) { return $im; }

 

        # Try and load from string:

        $im = @imagecreatefromstring(file_get_contents($file));

        if ($im !== false) { return $im; }

 

        return false;

}

 

 

 

function resizeImage($filename, $width, $height)

{

 

// Content type

if (file_exists($filename))

{

// Get new dimensions

list($width_orig, $height_orig, $type, $attr) = getimagesize($filename);

 

if ($height_orig == 0 || $width_orig == 0)

{

$image = $image = open_image($filename);

$width_orig = imagesx($image);

$height_orig = imagesy($image);

}

 

if ($width && ($width_orig < $height_orig)) {

  $width = ($height / $height_orig) * $width_orig;

} else {

  $height = ($width / $width_orig) * $height_orig;

}

 

// Resample

$image_p = imagecreatetruecolor($width, $height);

$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

 

// Output

imagejpeg($image_p, "/home/content/create/tempimages/old.jpg", 90);

}

}

 

function createCustomer($name)

{

 

$blnSuccess = delete_directory('/home/content/onlineimages/'.$name);

if ($blnSuccess)

print "<script>alert('".ucfirst($name)." existed.  Now erased...');</script>";

 

 

createDirStruct($name);

makeThumbs($name);

// echo '<span class="medHeader">'.$name.' is created!</span>';

}

 

function makeThumbs($name)

{

    $handler = opendir('/home/content/create/tempimages');

    $filenum = 1;

    unlink("/home/content/create/tempimages/old.jpg");

    unlink("/home/content/create/tempimages/temp.jpg");

 

    // keep going until all files in directory have been read

    while ($file = readdir($handler)) {

 

        // if $file isn't this directory or its parent,

        // add it to the results array

        if ($file != '.' && $file != '..')

            $results[] = $file;

            echo $file."<br>";

    }

 

    closedir($handler);

 

echo "Number of Images: ".count($results)."<br>\r\n";

 

for ($i=0;$i<=count($results); $i++)

{

set_time_limit(100);

unlink("/home/content/create/tempimages/old.jpg");

unlink("/home/content/create/tempimages/temp.jpg");

unlink("/home/content/create/tempimages/temp2.jpg");

 

$file = $results[$i];

        if (stristr($file, ".jpg"))

{

 

$strNum = $filenum + '';

$strNum = str_pad($strNum, 4, "0", STR_PAD_LEFT);

echo "Processing: ".$file."<br>";

 

copy("/home/content/create/tempimages/".$file, "/home/content/create/tempimages/temp.jpg");

copy("/home/content/create/tempimages/".$file, "/home/content/create/tempimages/temp2.jpg");

resizeImage("/home/content/create/tempimages/temp.jpg", 150, 150);

moveFile("/home/content/create/tempimages/old.jpg", "/home/content/onlineimages/".$name."/images/thumbs/tn".$name.$strNum.".jpg");

resizeImage("/home/content/create/tempimages/temp2.jpg", 600, 600);

moveFile("/home/content/create/tempimages/old.jpg", "/home/content/onlineimages/".$name."/images/".$name.$strNum.".jpg");

 

// unlink($file);

if (file_exists("/home/content/onlineimages/".$name."/images/thumbs/tn".$name.$strNum.".jpg"))

{

echo $name.$strNum. " created<br>";

$filenum++;

}

}

 

    }

// unlink("tempimages/old.jpg");

// unlink("tempimages/temp.jpg");

 

 

// foreach (glob("/home/content/create/tempimages/*.*") as $filename) {

//   unlink($filename);

// }

 

 

}

 

function moveFile($oldfile, $newfile)

{

 

if (!rename($oldfile, $newfile)) {

echo $oldfile." ".$newfile." failed to copy $file...<br>";

}

 

}

 

function createDirStruct($value)

{

$value = strtolower($value);

mkdir("/home/content/onlineimages/".$value);

mkdir("/home/content/onlineimages/".$value."/images");

mkdir("/home/content/onlineimages/".$value."/images/thumbs");

 

}

Link to comment
https://forums.phpfreaks.com/topic/83330-script-doesnt-finish/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.