• 締切済み

Perlのrename関数でエラーがでるのは?

sample_の回答

  • sample_
  • ベストアンサー率76% (20/26)
回答No.2

renameでエラーになる場合って ファイル、ディレクトリが存在しない 使っては行けない文字列 使用中によって名前が返れない そもそも修正の権限がない とかそんな感じではないでしょうか? renameする値を見ても問題なさそうなら、修正する権限とかそこいらですかねぇ?

関連するQ&A

  • rename関数 できない

    どうもこんばんは ファイル名を変更したくて、多数のサイトを調べてました。 どのサイトも全く同じことを書いてて rename("b.txt","a.txt"); a.txt を b.txt に変更する場合の記述。 そのとおりにやったのですが、 「Warning: rename(b.txt,a.txt) [function.rename]: No such file or directory in C:\xampp\htdocs\test\test.php on line 13 」 とエラーが吐いてしまい、いくらやってもこうなってしまいます。 エラー文は該当ファイルかディレクトリが無いとかそういう類だと思いますが、原因がわかりません。 これで数時間費やしてしまいまして、ヒントや答えのレスをいただくころには、 copy関数で代用していると思いますが、どうしてrenameできないのか気になります・・ ヒントでもいいので、レスいただければと思います。 因みにwindowsXPでのテスト環境下(XAMPP)です。 PHP Version 5.2.5

    • ベストアンサー
    • PHP
  • rename関数のファイルロック

    カウンタスクリプトを作る際に、必ずファイルロックってしますよね。 いろいろなサンプルを見ると、symlink関数やmkdir関数、open関数などを使ったロック方法があるんですけど その中にrename関数を使ったものがあるんです。 解説を読んでみると、rename関数の方が他のよりも比較的に良いようなことが書いてあるのでさっそく使用。 しかし、表示が遅いんです。 カウンタは画像連結をしてIMGで呼び出しています。 renameでロックすると遅くなるのは、もうどうしようもないことなのでしょうか?

    • ベストアンサー
    • CGI
  • rename関数で名前の変更が出来なくなりました

    こんにちは。 C言語でHTMLのひな形を作ってHTMLを作っています。今回、少しC言語のソースを買えただけでC言語のrename関数が失敗するようになってしまいました。 バレが怖いので下記しか書けません。質問なのに申し訳ございません。 if (rename("after_oomoto.txt", html_name)==0){ printf("htmlファイル名変換完了\n"); }else{ printf("htmlファイル名変換不可\n"); printf("レビューファイルがキチンと作成されていない可能性があります。処理を終了します。\n"); system("pause"); // return; } ちなみにhtml_nameは改行とnull文字は付いていません。また、ファイル名にutf-8やshift-jisがあるのかも知りません。 こんな少ない情報ですが、どなたかアドバイス頂けないでしょうか。 よろしくお願いいたします。

  • phpのrenameでエラーが出ます

    初めて質問させて頂きます。php初心者で困っていますので教えて下さい。 申し込みフォームで画像を選択  ↓ 確認画面($_FILESに入っている画像を、uniqidで生成したファイル名で一時ファイルフォルダに保存 ↓ 確認ボタンを押すと、申込内容をmysqlに登録、autoincrementしたシリアルナンバーを$_SESSIONに格納 ↓ 完了画面でシリアルナンバー+拡張子でアップロードしたファイルをリネーム&フォルダ移動 というプログラムを作っているのですが、最後のリネーム&移動のところでエラーが出てしまいます。 出力されるエラーは Warning: rename( tmp/5194a2db03b16.jpg, photo/164.jpg): in C:\xampp\htdocs\hogehoge\hoge\complete_01.php on line 18 オンラインサーバーにアップすると同じエラーは出ないのですが、コピーはされません。 参考にrename部分のコードです //写真を指定フォルダに移動 $oldpath = " ichiji/". $_SESSION["onamae"]; $newpath = " photo/" . $_SESSION["id"]; $rename = rename($oldpath , $newpath); $_SESSIONとファイルのパスですが、printで正しくデータが渡されていることを確認しています。 どなたか教えてください。

    • ベストアンサー
    • PHP
  • renameについて

    ”ABCDEF”というフォルダに入っている3つのファイルの名前を それぞれ”01,02,03”にしたいとき下記のプログラムで大丈夫ですか? というか、完成していますか? 他にしなくてはいけない事や間違いがあったら教えて下さい。 #! c:/perl/bin/perl $abcdef = './ABCDEF/'; $newname = 01 02 03; foreach $abcdef (@NAME) { my $newname = $abcdef; rename($abcdef,$newname) or warn "Couldn't rename $abcdef to $newname: $!\n"; } パソコン初心者で困っています。実際に実行したくても ”ページが見つかりません”になって確認できないし・・・ インストールは正常に出来たはずなのに・・・ 何でですかね? あと、フォルダに入っているもっと多くのファイル名を変えるとき(1000個とか) にはどうしたらいいんですか? 宜しくお願い致します。

  • Delphi Renameエラー

    すみません、どなたか教えてください。 Delphiでファイル名変更時にエラーが出てしまいます。 処理内容は以下です。 AssignFile(F,'..\TEST\A.TXT'); Rewrite(F); //sには\B.TXTの内容をセット Write(F,s); CloseFile(F); DeleteFile('..\TEST\B.TXT'); Rename(F,'B.TXT'); Renameで、「EInOutErrorクラスの例外を生成しました。'I/Oエラー(183)'」となってしまいます。 どなたかアドバイスをお願い致します。

  • unlink 、renameが使えない理由

    Redhat linux + Perl(↓バージョン) This is perl, v5.6.1 built for i386-linux Copyright 1987-2001, Larry Wall でunlinkとrenameがうまく使えないのは何故でしょうか? mkdirやmvも使えなかったように思います。rmやmkdirなどの linuxコマンドの権限は700にいじってあります。 関係あるのでしょうか?ただ755に戻してmvをしてみましたが やっぱり使えませんでした。私のミスでなければrootで 実行してもうまく動きませんでした。使える関数使えない関数 あるのでしょうか。もしそうだとしたら、その環境使える関数の リストを列挙するスクリプトやコマンドはあるのでしょうか? よろしくお願いします

    • ベストアンサー
    • Perl
  • CPANのrenameについて

    http://search.cpan.org/~rmbarker/File-Rename-0.02/rename.PL Robin Barker > File-Rename-0.02 > rename の使用方法を教えてください。 File-Rename-0.02.tar.gzをDownloadし、解凍しましたが、 以下のエラーメッセージが出力されます。 File-Rename-0.02 512 $rename -bash: rename: command not found File-Rename-0.02 513 $rename perlexpr -bash: rename: command not found 動作環境 [About my Mac] Mac OS X 10.4.6; Darwin 8.6.1; MacBookPro1,1; Intel Core Duo

    • ベストアンサー
    • Perl
  • perl から ncftpを使う場合にエラー

    お世話になっております。 perlスクリプト中でncftpgetを使って、FTPサーバーからファイルをダウンロードするスクリプトを作成しております。 ところがshellでは問題なくいくのですが、perlでは上手くいきません。 <ソースコード> ※$DATE以外は文字列 ※$DATE = `date +%Y_%m_%d`; system "ncftpget -u $USER -p $PASS -a -t 15 -e $WORK_PATH/logfile_$DATE -d $WORK_PATH/logfile_ncftp_$DATE $ADDRESS /tmp /tmp/$FILE 2>> $WORK_PATH/logfile_$DATE 1>/dev/null"; perl -wc ではOKです。 perl -d で行うと、ncftpgetのUsages等(オプションミス等の時に表示されるものです)が表示されてしまい、その後、「-d: 見つかりません。」となってしまいます。 また、上記ソースコードをshellスクリプトでそのまま書き直すと、正常に動きます。 加えて、$DATEのみ適当な文字列(1111や2222)等にすると、問題なく動作します。 $DATEに値が入っていないのか思ったのですが、system関数前後で標準出力させてみると、正常に表示されてます。 $DATE部分に日付を入れたいので、固定にするわけにはいかないですし……。 何故perlだと上手くいかないのでしょうか?

    • ベストアンサー
    • Perl
  • Perlの文字列処理関数?

    Perl5.8も視野にいれた、便利な文字列関数を探しています。 trim rtrim ltrimを行う関数ですが、こういうものは自作するべきでしょうか? VBやPHPには標準であるようですが、Perlは文字コードを備えた一般的なものは 存在するのでしょうか?

    • ベストアンサー
    • Perl