Results 1 to 3 of 3

Thread: "No such file or directory"! Help!

  1. #1
    Join Date
    Jul 2007
    Location
    England
    Posts
    41
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default "No such file or directory"! Help!

    I'm using the following script as an image uploader for my website.

    PHP Code:
    <?php
    //define a maxim size for the uploaded images in Kb
    define ("MAX_SIZE","100");

    //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension.
    function getExtension($str) {
    $i strrpos($str,".");
    if (!
    $i) { return ""; }
    $l strlen($str) - $i;
    $ext substr($str,$i+1,$l);
    return 
    $ext;
    }

    //This variable is used as a flag. The value is initialized with 0 (meaning no error found)
    //and it will be changed to 1 if an errro occures.
    //If the error occures the file will not be uploaded.
    $errors=0;
    //checks if the form has been submitted
    if(isset($_POST['Submit']))
    {
    //reads the name of the file the user submitted for uploading
    $image=$_FILES['image']['name'];
    //if it is not empty
    if ($image)
    {
    //get the original name of the file from the clients machine
    $filename stripslashes($_FILES['image']['name']);
    //get the extension of the file in a lower case format
    $extension getExtension($filename);
    $extension strtolower($extension);
    //if it is not a known extension, we will suppose it is an error and will not upload the file,
    //otherwise we will do more tests
    if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
    {
    //print error message
    echo '<h1>Unknown extension!</h1>';
    $errors=1;
    }
    else
    {
    //get the size of the image in bytes
    //$_FILES['image']['tmp_name'] is the temporary filename of the file
    //in which the uploaded file was stored on the server
    $size=filesize($_FILES['image']['tmp_name']);

    //compare the size with the maxim size we defined and print error if bigger
    if ($size MAX_SIZE*1024)
    {
    echo 
    '<h1>You have exceeded the size limit!</h1>';
    $errors=1;
    }

    //we will give an unique name, for example the time in unix time format
    $image_name=time().'.'.$extension;
    //the new name will be containing the full path where will be stored (images folder)
    $newname="pics/".$image_name;
    //we verify if the image has been uploaded, and print error instead
    $copied copy($_FILES['image']['tmp_name'], $newname);
    if (!
    $copied)
    {
    echo 
    '<h1>Copy unsuccessfull!</h1>';
    $errors=1;
    }}}}

    //If no errors registred, print the success message
    if(isset($_POST['Submit']) && !$errors)
    {
    echo 
    "<h1>File Uploaded Successfully! Try again!</h1>";
    }

    ?>

    <!--next comes the form, you must set the enctype to "multipart/frm-data" and use an input type "file" -->
    <form name="newad" method="post" enctype="multipart/form-data" action="">
    <table>
    <tr><td><input type="file" name="image"></td></tr>
    <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr>
    </table>
    </form>
    The only problem is when I go to upload something, I'm get the following error:

    Warning: copy(pics/1233164493.jpg) [function.copy]: failed to open stream: No such file or directory in /home/mrrsman/public_html/mechtutor.com/wp-content/themes/safitech.1.3/safitech/upload.php on line 58
    The directory, "pics" DOES exist in the place it says above. This directory has 777 permissions.

    I've tried a number of PHP scripts, all very similar to the one above. But I get the same error each time.

    I'm obviously doing something wrong, but I don't know what.

    Thanks in advance.

  2. #2
    Join Date
    Feb 2008
    Location
    Cebu City Philippines
    Posts
    1,160
    Thanks
    17
    Thanked 277 Times in 275 Posts

    Default

    Where's copy function?
    Learn how to code at 02geek

    The more you learn, the more you'll realize there's much more to learn
    Ray.ph!

  3. #3
    Join Date
    Dec 2008
    Posts
    28
    Thanks
    3
    Thanked 1 Time in 1 Post

    Default

    Quote Originally Posted by rangana View Post
    Where's copy function?
    its a preset function.

    and

    make sure that pics is inside the folder like:

    public_html/testing/upload.php
    public_html/testing/pics/

    or it wont work. i used this script for some time a while ago.

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
  •