SitePoint Sponsor

User Tag List

Results 1 to 5 of 5
  1. #1
    SitePoint Zealot maffp's Avatar
    Join Date
    Jun 2005
    Location
    UK
    Posts
    158
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Unhappy Script suddenly not working

    Hi!

    I have a content management system on my website. Recently all my pages which involve image uploads have stopped working properly and give the error:

    Code:
    Warning:  copy(/68.jpg) [function.copy]:  failed to open stream: Permission denied in /home/thesite/public_html/cms/galleryEditCategories.php  on line 79
    PHP Code:
    <?php include '../includes/config.inc.php'?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Hayley CMS :: Edit/Delete Gallery Categories</title>
    <link type="text/css" rel="stylesheet" href="css/styles.css" media="all" />
    <script language="javascript" type="text/javascript" src="../tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
    <script language="javascript" type="text/javascript">
    tinyMCE.init({
        mode : "textareas",
        theme : "simple"
    });
    </script>
    </head>
    <body>
    <h1>Edit/Delete Gallery Categories</h1>

    <?php
    if (isset($_GET['edit'])) {
        
    $id $_GET['edit'];
        
    $getCategories = @mysql_query("SELECT id, title, short_desc, long_desc FROM gallery_categories WHERE id=$id LIMIT 1");
        if (!
    $getCategories) {
            exit (
    "<p>Error retrieving requested information:" mysql_error() . "</p>\n\n");
        }
        
    $categories = @mysql_fetch_array($getCategories);
        
    $title $categories['title'];
        
    $longDesc $categories['short_desc'];
        
    $shortDesc $categories['long_desc'];
        
    ?>
        <h3>Alter information as necessary. You may change the category picture by uploading a new photo.</h3>
        <form action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" method="post">
        <label for="title">Title</label><input name="title" type="text" value="<?php echo $title;?>" />
        <label for="image">Image</label><input name="image" type="file" />
        <label for="shortdesc">Short Description</label><textarea name="shortdesc" rows="5" cols="40"><?php echo $shortDesc;?></textarea>
        <label for="longdesc">Long Description</label><textarea name="longdesc" rows="10" cols="40"><?php echo $longDesc;?></textarea>
        <input type="hidden" name="id" value="<?php echo $id;?>" />
        <input name="update" type="submit" value="Update Category" class="submit" />
        </form>

    <?php
    } else {

        if (isset(
    $_POST['updateorder'])) {
            
    $orderArray $_POST['order'];
            
    $idArray $_POST['id'];
            
    $number_of_cats count($idArray);
            
    $counter 0;
            while( 
    $counter $number_of_cats ) {
                        
    mysql_query"UPDATE gallery_categories SET disp_order=$orderArray[$counter] WHERE id=$idArray[$counter]);
                        echo 
    "<p>Order $counter updated!</p>";
                
    $counter++;
            }

        } else {
        
            if (isset(
    $_POST['update'])) {
                
    $id $_POST['id'];
                
    $title $_POST['title'];
                
    $shortDesc $_POST['shortdesc'];
                
    $longDesc $_POST['longdesc'];
                
    $image $_FILES['image'];
                
                
    $updateCats mysql_query"UPDATE gallery_categories SET title='$title', short_desc='$shortDesc', long_desc='$longDesc' WHERE id='$id' LIMIT 1" );
                
                if (!
    $updateCats) {
                    exit (
    "<h3>Category editing not saved!</h3>\n".
                        
    "<p>Please <a href='javascript:history.go(-1)'>try again</a> or <a href='mailto:$webmasterCMS Error Editing Gallery Categories'>notify the webmaster\n\n</p>");
                } else {
                    echo 
    "<h3>Category successfully changed!</h3>\n";
                }
                
                if (
    $image['size'] > 0) {
                    if (
    $image['type'] == ('image/jpeg'||'image/pjpeg')) {
                    
                        
    $filename $id.".jpg";
                
                        if (!
    copy($image['tmp_name'], $uploadDir."/".$filename)) {
                            echo 
    "<p>Image was not uploaded. Please try again.</p>";
                        } else {
                
                            list(
    $width$height$type$attr) = getimagesize($uploadDir."/".$filename);
                            
                            if(
    $width $height)    {  //if landscape
                                
    $thumbnail_height 100;
                                
    $thumbnail_width = (int)(100 $width $height);
                            } else { 
    //if portrait
                                
    $thumbnail_height = (int)(100 $height $width);
                                
    $thumbnail_width 100;
                            }
                            
                            
    exec("convert $uploadDir/$filename -geometry {$thumbnail_width}x{$thumbnail_height} -gravity center -crop 100x100+0+0 $uploadDir/tb_$filename");
                            
                            
    unlink($uploadDir."/".$filename);
                            
                            echo 
    "<p>Image uploaded successfully!</p>";
                            
                        }
                    
                    } else {
                        echo 
    "<p>Image is not a JPEG.</p>";
                    }
                } else {
                    echo 
    "<p>Image not changed.</p>";
                }
                
            } else {
        
                if (isset(
    $_GET['delete'])) {
                    
    $id $_GET['delete'];
                    
    $deleteSql1 mysql_query("DELETE FROM gallery_categories WHERE id='$id' LIMIT 1");
                    if (!
    $deleteSql1) {
                        exit (
    "<h3>Category not deleted!</h3>\n".
                            
    "<p>Please <a href='javascript:history.go(-1)'>try again</a> or <a href='mailto:$webmasterCMS Error Deleting Gallery Category'>notify the webmaster\n\n</p>");
                    } else {
                        echo 
    "<h3>Gallery Category Successfully Deleted!</h3>\n";
                    }
                    
    $deleteSql2 mysql_query("DELETE FROM gallery_photos WHERE catid='$id'");
                    if (!
    $deleteSql2) {
                        exit (
    "<h3>Category photo entries not deleted!</h3>\n".
                            
    "<p>Please <a href='javascript:history.go(-1)'>try again</a> or <a href='mailto:$webmasterCMS Error Deleting Gallery Category Photos'>notify the webmaster\n\n</p>");
                    } else {
                        echo 
    "<h3>Category photo entries Successfully Deleted!</h3>\n";
                    }
                    
    unlink("../images/photos/categories/tb_$id.jpg");
                    
    $dirname "../images/photos/".$id;
                    
        function 
    rmdirr($dirname)
        {
            
    // Sanity check
            
    if (!file_exists($dirname)) {
                return 
    false;
            }
         
            
    // Simple delete for a file
            
    if (is_file($dirname) || is_link($dirname)) {
                return 
    unlink($dirname);
            }
         
            
    // Loop through the folder
            
    $dir dir($dirname);
            while (
    false !== $entry $dir->read()) {
                
    // Skip pointers
                
    if ($entry == '.' || $entry == '..') {
                    continue;
                }
         
                
    // Recurse
                
    rmdirr($dirname DIRECTORY_SEPARATOR $entry);
            }
         
            
    // Clean up
            
    $dir->close();
            return 
    rmdir($dirname);
        }
        
        
    rmdirr($dirname);
                
                } else {    
            
                    
    $categoryList = @mysql_query("SELECT `id`, `title`, `short_desc`, `disp_order` FROM `gallery_categories` ORDER BY `disp_order` ASC");
                    if (!
    $categoryList) {
                        exit (
    "<p>Error retrieving requested information:" mysql_error() . "</p>\n\n");
                    }
                    
                    
    ?>
                    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
                    <table class="cmstable" cellpadding="5" cellspacing="5" border="0"><thead><td>Image</td><td class="title">Title &amp; Short Description</td><td align="center">Edit</td><td align="center">Delete</td><td align="center">Display Order</td></thead>
                    <?php
                    
                    
    // Create array function
                    
    while ($category mysql_fetch_array($categoryList)) {
                        
    $id $category['id'];
                        
    $title $category['title'];
                        
    $shortDesc $category['short_desc'];
                        
    $order $category['disp_order'];
                    
                        echo 
    "<tr valign='top'><td><img src='../images/photos/categories/tb_$id.jpg' alt='$title' title='$title' width='100' height='100' /></td>".
                            
    "<td><h5>$title</h5><p>$shortDesc</p></td>".
                            
    "<td align='center'><a href='galleryEditCategories.php?edit=$id'><img src='images/icon_edit.gif' alt='Edit' title='Edit' border='0' /></a></td>".
                            
    "<td align='center'><a href='galleryEditCategories.php?delete=$id' onclick=\"return confirm('Are you sure you want to delete this category and all photos within it?')\"><img src='images/icon_delete.gif' alt='Delete' title='Delete' border='0' /></a></td>".
                            
    "<td align='center'><input type='text' value='$order' name='order[]' size='1' class='coods' style='text-align:center;' /><input type='hidden' name='id[]' value='$id' /></td></tr>";
                    }
                    
                    
    ?>
                    </table>
                    <input class="submit" type="submit" name="updateorder" value="Update Order" />
                    </form>
                    <?php
                    
                
    }
            }
        }
    }
    ?>

    </body>
    </html>
    I've changed my server since and it's almost as if the copy function isn't working properly now. Could anyone please help me!

    Cheers!

  2. #2
    SitePoint Guru
    Join Date
    Jun 2006
    Posts
    638
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Check your file permissions.

    You changed servers and you forgot to give write permissions to the right folders.

  3. #3
    SitePoint Zealot maffp's Avatar
    Join Date
    Jun 2005
    Location
    UK
    Posts
    158
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've recursed 777 into alll the directories just to see if that would work but it hasn't though.

    Actually... just realised I gave the wrong example. This particular file was giving the error cos I'd deleted the upload directory variable in the script. Have replaced it now but still getting the errors.

    However, all the files aren't uploading an image but it isn't giving any error. I'm getting the "File uploaded successfully message" but no image file appears.

  4. #4
    SitePoint Zealot maffp's Avatar
    Join Date
    Jun 2005
    Location
    UK
    Posts
    158
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sussed it! Imagemagick wasnt installed by default on new server!

  5. #5
    SitePoint Evangelist smftre's Avatar
    Join Date
    Dec 2008
    Location
    London
    Posts
    436
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Statvoo.com The Website Traffic Monitor
    The best way to monitor traffic to your sites for free!


    Web Development London UK We make web 3.0 applications


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •