|
Posted by 4sak3n 0ne on 10/25/07 18:52
On Oct 25, 11:12 am, admyc <ad...@hotmail.com> 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.comand 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.comforPHP
> > 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!
>
> 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
Clear your browser's cache, and refresh. If the image is still wrong,
then the only thing I can think of is to check if the file exists
(http://www.php.net/file_exists) and then delete the file (http://
www.php.net/unlink) before doing the rest.
[Back to original message]
|