|
Posted by The Natural Philosopher on 10/26/07 00:59
admyc wrote:
> On 25 Oct, 16:17, "David T. Ashley" <d...@e3ft.com> wrote:
>> "admyc" <ad...@hotmail.com> wrote in message
>>
>> news:1193324639.891114.316160@57g2000hsv.googlegroups.com...
>>
>>
>>
>>> Hello
>>> I am having trouble making PHP web page that uploads an image file and
>>> moves it to a new file name. The problem occurs when the new filename
>>> already exists.
>>> I am using move_uploaded_file().
>>> The fist time an image file is uploaded and moved to a new file name
>>> there is no problem, however if I decide to upload a different image
>>> file, when the script tries to move this to the same filename (which
>>> is what I want as I want the uploaded file to have a specific name) it
>>> doesn't work and a couple of warning messages are shown one saying
>>> 'failed to open stream: No such file or directory in...' and the other
>>> saying 'Unable to move '...\tmp\php42.tmp' to 'htdocs/.../images/
>>> newimagename.jpg' ...'
>>> I have looked atwww.w3schools.com and it says 'Note: If the
>>> destination file already exists, it will be overwritten.' however I
>>> think the problem is that this is not happening?
>>> Any help very much appreciated
>> It isn't clear to me why you are going towww.w3schools.comfor PHP
>> documentation when the official PHP site iswww.php.net.
>>
>> If you go to this page:
>>
>> http://us3.php.net/manual/en/function.move-uploaded-file.php
>>
>> there are two strong hints about what might be going wrong. The second one
>> is pasted in below. This may or may not solve your problem; but in any case
>> the URL above should be your starting point IMHO.
>>
>> Dave.
>>
>> -------------
>>
>> when you get this 2 Warnings - paths are a real sample - ::
>>
>> -
>> move_uploaded_file(/uploads/images/sample.png)
>> [function.move-uploaded-file]: failed to open stream: No such file or
>> directory in /scripts/php/system/upload-file.php on line X
>> -
>>
>> and
>>
>> -
>> move_uploaded_file() [function.move-uploaded-file]: Unable to move
>> '/tmp/somefilename' to '/uploads/images/sample.png' in
>> /scripts/php/system/upload-file.php on line X
>> -
>>
>> probably the path '/uploads/images/sample.png' is incomplete, in my case the
>> complet path is "/home/x-user/public_html/uploads/images/sample.png"
>>
>> you can use getcwd() to know the current working directory.
>>
>> :)
>>
>> --
>> David T. Ashley (d...@e3ft.com)http://www.e3ft.com (Consulting Home Page)http://www.dtashley.com (Personal Home Page)http://gpl.e3ft.com (GPL Publications and Projects)
>
> Thanks for your reply,
>
> I could find nothing to help at your link!
>
> The example you kindly pasted doesn't explain it because as I wrote in
> my explanation of the problem, the first time a file is uploaded and
> moved to the new file name there is no problem; it is only when
> another file is uploaded that it encounters the problem but as it uses
> exactly the same code I don't see how the path is incomplete!
>
Don't use 'move file' then, use the copy command.
i had issues using move uploaded file anyway. Copy resolved them.
Or unlink() the existing file before moving. Whichever. Unlink should be
happy with a non existent file anyway.
> What I have noticed is that if the file exists at the original
> destination, as it will when a file has already been uploaded and
> moved there, then the directory that the destination path is relevant
> to changes from being a few levels-up from the directory the php
> document is in to being relevant to the directory the php document is
> in. This therefore will explain why the first time round the directory
> exists but on consequent uploads when the root directory has changed
> it doesn't exist.
>
> I really don't know why it is doing this though and any pointers very
> gratefully received
>
> AM
>
[Back to original message]
|